@charset "UTF-8";
@font-face {
  font-family: "Urbanist";
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url("../fonts/urbanist/urbanist-latin-100-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Urbanist";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("../fonts/urbanist/urbanist-latin-200-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Urbanist";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/urbanist/urbanist-latin-300-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Urbanist";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/urbanist/urbanist-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Urbanist";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/urbanist/urbanist-latin-500-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Urbanist";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/urbanist/urbanist-latin-600-normal.woff2") format("woff2");
}
@font-face {
  font-family: "SF Pro";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/sf-pro/sf-pro-text_light.woff") format("woff");
}
@font-face {
  font-family: "SF Pro";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/sf-pro/sf-pro-text_regular.woff2") format("woff2");
}
@font-face {
  font-family: "SF Pro";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/sf-pro/sf-pro-display_medium.woff2") format("woff2");
}
@font-face {
  font-family: "SF Pro";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/sf-pro/sf-pro-text_semibold.woff2") format("woff2");
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
  margin: 0;
}

body {
  font-family: "Urbanist";
  line-height: 1.5;
  color: #0f172a;
  -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
  font: inherit;
}

a {
  color: inherit;
}

html,
body {
  height: 100%;
  font-family: "Urbanist", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.font-sf-pro {
  font-family: "SF Pro", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
}

.pl-5 {
  padding-left: 1.5rem;
}

.font-urbanist {
  font-family: "Urbanist", system-ui, sans-serif;
}

a {
  text-decoration: none;
}

.app-main {
  margin-left: 0;
  min-width: 0;
  background-color: #fafcff;
}
@media (min-width: 1100px) {
  .app-main {
    margin-left: 240px;
  }
}

.app-panel {
  border-radius: 28px;
  min-height: calc(100vh - 1rem);
  box-shadow: 0 4px 20px rgba(11, 31, 63, 0.06);
}
@media (min-width: 1100px) {
  .app-panel {
    min-height: calc(100vh - 1.75rem);
    border-top-left-radius: 50px;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 20px;
  }
}

.sidebar {
  width: 240px;
  max-width: 240px;
  height: 100vh;
  max-height: 100dvh;
  overflow: hidden;
  background: #1F4169 url("../images/sidebar.jpg") no-repeat center bottom/cover;
}
.sidebar__brand {
  flex-shrink: 0;
}
.sidebar__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-width: none;
}
.sidebar__scroll::-webkit-scrollbar {
  display: none;
}
.sidebar__nav {
  width: 100%;
  min-width: 0;
  overflow: visible;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.sidebar__link {
  color: rgba(255, 255, 255, 0.82);
  border-radius: 999px 0 0 999px;
  transition: color 0.2s, background 0.2s;
  text-decoration: none;
  font-size: 0.875rem;
}
.sidebar__link .sidebar__menu-icon {
  opacity: 0.72;
  transition: filter 0.2s, opacity 0.2s;
}
.sidebar__link .bi:not(.sidebar__expand-icon),
.sidebar__link .sidebar__sub-chevron {
  opacity: 0.72;
  transition: color 0.2s, opacity 0.2s;
}
.sidebar__link .sidebar__expand-icon {
  opacity: 0.72;
}
.sidebar__link:hover:not(.active) {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  margin-right: 0.5rem;
}
.sidebar__link:hover:not(.active) .sidebar__menu-icon {
  opacity: 1;
  filter: brightness(0) invert(1);
}
.sidebar__link:hover:not(.active) .bi:not(.sidebar__expand-icon),
.sidebar__link:hover:not(.active) .sidebar__sub-chevron,
.sidebar__link:hover:not(.active) .sidebar__expand-icon {
  opacity: 1;
  color: #ffffff;
}
.sidebar__link--open:not(.active) {
  color: #ffffff;
  font-weight: 600;
}
.sidebar__link--open:not(.active) .sidebar__menu-icon {
  opacity: 1;
  filter: brightness(0) invert(1);
}
.sidebar__link--open:not(.active) .bi:not(.sidebar__expand-icon),
.sidebar__link--open:not(.active) .sidebar__sub-chevron,
.sidebar__link--open:not(.active) .sidebar__expand-icon {
  opacity: 1;
  color: #ffffff;
}

.sidebar-offcanvas {
  width: 240px;
  background: #1F4169 url("../images/sidebar.jpg") no-repeat center bottom/cover;
  display: flex;
  flex-direction: column;
  max-height: 100dvh;
  overflow: hidden;
}
.sidebar-offcanvas .offcanvas-header {
  flex-shrink: 0;
}
.sidebar-offcanvas .sidebar-offcanvas__body,
.sidebar-offcanvas .offcanvas-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-width: none;
}
.sidebar-offcanvas .sidebar-offcanvas__body::-webkit-scrollbar,
.sidebar-offcanvas .offcanvas-body::-webkit-scrollbar {
  display: none;
}
.sidebar-offcanvas .nav-link:not(.sidebar__link) {
  color: rgba(255, 255, 255, 0.85);
}

.alert-banner {
  background: linear-gradient(135deg, #e84545 0%, #d63a3a 100%);
}
.alert-banner__plane-img {
  filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.2));
}

.stat-card-primary {
  background: #1F4169;
}

.section-icon {
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(232, 69, 69, 0.1);
  color: #e84545;
  flex-shrink: 0;
}

.notice-card-meta {
  border-left: 1px solid var(--bs-border-color);
}
@media (max-width: 767.98px) {
  .notice-card-meta {
    border-left: none;
    border-top: 1px solid var(--bs-border-color);
    padding-top: 1rem;
    margin-top: 0.5rem;
  }
}

.pending-doc {
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  flex-shrink: 0;
}
.pending-doc--blue {
  background: rgba(59, 130, 246, 0.12);
  color: #3b82f6;
}
.pending-doc--red {
  background: rgba(232, 69, 69, 0.12);
  color: #e84545;
}
.pending-doc--green {
  background: rgba(34, 197, 94, 0.12);
  color: #22c55e;
}
.pending-doc--purple {
  background: rgba(139, 92, 246, 0.12);
  color: #8b5cf6;
}

.avatar-online {
  position: relative;
}
.avatar-online::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  background: #22c55e;
  border: 2px solid #ffffff;
}

.sign-in-page {
  display: block;
  font-family: "SF Pro", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  overflow-x: hidden;
}

.sign-in {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1.25rem;
  background: #fff;
}

.sign-in__card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 62%;
  max-width: 100%;
  height: 620px;
  border-radius: 61px;
  overflow: hidden;
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.1);
  background: #fff;
}

.sign-in__left,
.sign-in__right {
  position: relative;
  min-width: 0;
  height: 100%;
}

/* Left panel – 50% */
.sign-in__left-content {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5.5rem 2.5rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.sign-in__logo {
  align-self: center;
  margin: 0;
}

.sign-in__promo {
  width: 100%;
  max-width: 300px;
  margin: 0 3rem;
  text-align: center;
}

.sign-in__promo-title {
  margin: 0 0 0.75rem;
  font-family: "Urbanist";
  font-style: normal;
  font-weight: 400;
  font-size: 34.32px;
  line-height: 101.2%;
  text-align: center;
  color: #FFFFFF;
}

.sign-in__promo-text {
  margin: 0 auto;
  max-width: 230px;
  font-family: "Urbanist";
  font-style: normal;
  font-weight: 300;
  font-size: 14px;
  line-height: 17px;
  text-align: center;
  letter-spacing: 0.03em;
  color: #FFFFFF;
  opacity: 0.7;
}

/* Right panel â€“ 50% with curved overlap */
.sign-in__right {
  margin-left: -73px;
  padding-left: 52px;
  box-sizing: border-box;
  border-radius: 80px 48px 48px 80px;
  overflow: hidden;
  isolation: isolate;
  z-index: 2;
}

.sign-in__right-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.sign-in__right-glass {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.sign-in__form-panel {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  height: 100%;
  padding: 4.25rem 9% 2rem;
  box-sizing: border-box;
  margin-left: -3rem;
}

.sign-in__header {
  width: 100%;
  margin-bottom: 2rem;
  text-align: center;
}

.sign-in__title {
  margin: 0 0 0.375rem;
  font-family: "SF Pro", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 35.31px;
  line-height: 96.2%;
  text-align: center;
  color: #3A3A3A;
}

.sign-in__subtitle {
  margin: 0;
  font-family: "SF Pro", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 15.9384px;
  line-height: 96.2%;
  text-align: center;
  color: #3A3A3A;
  font-synthesis: none;
}

.sign-in__form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  width: 100%;
}

.sign-in__alert {
  margin: 0 0 0.25rem;
  padding: 0.75rem 1rem;
  border-radius: 12px;
  background: rgba(241, 91, 85, 0.12);
  border: 1px solid rgba(241, 91, 85, 0.35);
  color: #F15B55;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

.sign-in__error {
  margin: 0;
  padding-left: 1.75rem;
  min-height: 1.05rem;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.3;
  color: #F15B55;
  text-align: left;
  font-family: "Urbanist";
  display: block !important;
  visibility: visible;
}
.sign-in__error[hidden], .sign-in__error:empty {
  visibility: hidden;
}

.sign-in__field {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
}

.sign-in__label {
  padding-left: 1.75rem;
  font-family: "Urbanist";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 19px;
  color: #3A3A3A;
  text-align: left;
}

.sign-in__input-group {
  position: relative;
}

.sign-in__input {
  width: 100%;
  height: 65px;
  padding: 0 1.75rem;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  box-shadow: 0px 0px 6.8px rgba(0, 0, 0, 0.1);
  border-radius: 94px;
  color: #1e2a3b;
  font-size: 0.9375rem;
  font-weight: 400;
  outline: none;
}
.sign-in__input::placeholder {
  font-family: "Urbanist";
  font-style: normal;
  font-weight: 300;
  font-size: 15px;
  line-height: 18px;
  display: flex;
  align-items: center;
  color: #818181;
}
.sign-in__input:focus {
  box-shadow: 0 0 6.8px rgba(0, 0, 0, 0.1), 0 0 0 3px rgba(31, 64, 104, 0.1);
}
.sign-in__input--error {
  box-shadow: 0 0 6.8px rgba(0, 0, 0, 0.1), 0 0 0 2px rgba(241, 91, 85, 0.35);
}
.sign-in__input--error:focus {
  box-shadow: 0 0 6.8px rgba(0, 0, 0, 0.1), 0 0 0 3px rgba(241, 91, 85, 0.2);
}

.sign-in__input-group .sign-in__input {
  padding-right: 3.25rem;
}

.sign-in__eye-btn {
  position: absolute;
  top: 50%;
  right: 1.25rem;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem;
  border: none;
  background: transparent;
  color: #5b89c1;
  cursor: pointer;
  transition: color 0.2s ease;
}
.sign-in__eye-btn:hover {
  color: rgb(26.164150616%, 45.5762623634%, 69.2083984036%);
}
.sign-in__eye-btn:focus-visible {
  outline: 2px solid rgba(91, 137, 193, 0.45);
  outline-offset: 2px;
  border-radius: 4px;
}
.sign-in__eye-btn svg {
  width: 1.375rem;
  height: 1.375rem;
}
.sign-in__eye-btn svg path,
.sign-in__eye-btn svg circle {
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sign-in__eye-icon {
  display: block;
  width: 1.375rem;
  height: 1.375rem;
  object-fit: contain;
}

.sign-in__eye-show {
  font-size: 1.375rem;
  line-height: 1;
  color: #5b89c1;
}

.sign-in__links {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 0.25rem;
  padding: 0 1.75rem;
  box-sizing: border-box;
}

.sign-in__link {
  color: #1F4169;
  font-family: "Urbanist";
  font-style: normal;
  font-weight: 400;
  font-size: 15px;
  line-height: 18px;
  text-decoration: none;
}
.sign-in__link:hover {
  text-decoration: underline;
}

.sign-in__link--help {
  color: #1F4169;
}

.sign-in__link--accent {
  color: #F15B55;
}

.sign-in__signup {
  margin: 1.75rem 0 0;
  font-family: "Urbanist";
  font-style: normal;
  font-weight: 300;
  font-size: 14px;
  line-height: 17px;
  text-align: center;
  color: #3A3A3A;
}

.sign-in__btn-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 0.25rem;
}

.sign-in__btn {
  width: 100%;
  max-width: 70%;
  height: 65px;
  margin: 0;
  padding: 0 2rem;
  border: none;
  border-radius: 94px;
  background: #1f4068;
  font-family: "Urbanist";
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 22px;
  text-align: center;
  letter-spacing: 0.02em;
  color: #FFFFFF;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(26, 51, 90, 0.25);
  transition: background 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.sign-in__btn:hover {
  background: #152448;
}

@media (max-width: 1200px) {
  .sign-in__card {
    width: min(92vw, 960px);
  }
  .sign-in__right {
    margin-left: -48px;
    padding-left: 40px;
  }
  .sign-in__form-panel {
    margin-left: -1.5rem;
    padding-left: 7%;
    padding-right: 7%;
  }
}
@media (max-width: 960px) {
  .sign-in {
    padding: 1.25rem 1rem;
    align-items: center;
    justify-content: center;
    overflow-x: hidden;
  }
  .sign-in__card {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 520px;
    height: auto;
    min-height: 0;
    border-radius: 32px;
    overflow: hidden;
  }
  .sign-in__left {
    position: relative;
    min-height: 240px;
    height: auto;
  }
  .sign-in__left-content {
    position: relative;
    inset: auto;
    min-height: 240px;
    padding: 2.5rem 1.5rem 2rem;
    justify-content: center;
    gap: 1.5rem;
  }
  .sign-in__logo {
    align-self: center;
    margin-right: 0;
    max-width: 200px;
    width: auto;
    height: auto;
  }
  .sign-in__promo {
    display: none;
  }
  .sign-in__right {
    margin-left: 0;
    padding-left: 0;
    border-radius: 0 0 32px 32px;
    min-height: 0;
    height: auto;
  }
  .sign-in__form-panel {
    margin-left: 0;
    height: auto;
    min-height: 0;
    padding: 2.25rem 1.75rem 2.5rem;
  }
  .sign-in__header {
    margin-bottom: 1.5rem;
  }
  .sign-in__title {
    font-size: clamp(1.75rem, 6vw, 2.2rem);
  }
  .sign-in__subtitle {
    font-size: 0.9375rem;
    font-weight: 400;
  }
  .sign-in__label {
    padding-left: 1.25rem;
  }
  .sign-in__error {
    padding-left: 1.25rem;
  }
  .sign-in__links {
    padding: 0 1.25rem;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
  }
  .sign-in__signup {
    margin-top: 1.5rem;
  }
}
@media (max-width: 576px) {
  .sign-in {
    padding: 0.75rem;
  }
  .sign-in__card {
    max-width: 100%;
    border-radius: 24px;
  }
  .sign-in__left {
    min-height: 200px;
  }
  .sign-in__left-content {
    min-height: 200px;
    padding: 2rem 1.25rem 1.5rem;
  }
  .sign-in__logo {
    max-width: 160px;
  }
  .sign-in__right {
    border-radius: 0 0 24px 24px;
  }
  .sign-in__form-panel {
    padding: 1.75rem 1.25rem 2rem;
  }
  .sign-in__form {
    gap: 1rem;
  }
  .sign-in__input {
    height: 56px;
    padding: 0 1.25rem;
    border-radius: 999px;
  }
  .sign-in__input-group .sign-in__input {
    padding-right: 2.75rem;
  }
  .sign-in__eye-btn {
    right: 1rem;
  }
  .sign-in__label {
    padding-left: 1rem;
    font-size: 0.75rem;
  }
  .sign-in__error {
    padding-left: 1rem;
  }
  .sign-in__links {
    padding: 0 1rem;
    font-size: 0.8125rem;
  }
  .sign-in__link {
    font-size: 0.8125rem;
  }
  .sign-in__signup {
    font-size: 0.8125rem;
    margin-top: 1.25rem;
  }
  .sign-in__btn-wrap {
    margin-top: 1rem;
  }
  .sign-in__btn {
    height: 56px;
    font-size: 1rem;
    border-radius: 999px;
  }
}
.app-header {
  background: #fafcff;
  padding: 0.75rem 1rem;
}
@media (min-width: 992px) {
  .app-header {
    padding: 0.875rem 1.25rem;
  }
}
.app-header__inner {
  width: 100%;
  min-height: 48px;
}
.app-header__menu {
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #e4e9f0;
  border-radius: 50%;
  color: #1F4169;
  background: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  line-height: 1;
}
.app-header__menu:hover {
  background: #eef3fa;
  color: #1F4169;
}
.app-header__search {
  position: relative;
  width: 100%;
  max-width: 100%;
}
@media (min-width: 992px) {
  .app-header__search {
    flex: 0 1 50%;
    width: 48%;
  }
}
.app-header__search-icon {
  position: absolute;
  left: 1.125rem;
  top: 50%;
  transform: translateY(-50%);
  color: #9aa8b8;
  font-size: 1rem;
  z-index: 2;
  pointer-events: none;
}
.app-header__search-input {
  height: 48px;
  padding-left: 2.85rem;
  padding-right: 1.25rem;
  border-radius: 999px;
  background: transparent;
  border: 1px solid #D9D9D9;
  font-size: 0.875rem;
  color: #929292;
  box-shadow: none;
}
.app-header__search-input::placeholder {
  color: #9aa8b8;
  font-weight: 400;
}
.app-header__search-input:focus {
  background: transparent;
  border-color: #cdd5e0;
  box-shadow: none;
  outline: none;
}
.app-header__actions {
  gap: 1.125rem;
  white-space: nowrap;
  min-width: 0;
  flex-shrink: 1;
}
@media (max-width: 575.98px) {
  .app-header__actions {
    gap: 0.5rem;
  }
}
.app-header__program {
  display: flex;
  align-items: center;
  min-width: 0;
  flex: 0 1 auto;
  max-width: min(260px, 44vw);
  margin-right: auto;
}
.app-header__program[hidden] {
  display: none !important;
}
@media (max-width: 767.98px) {
  .app-header__program {
    max-width: min(148px, 38vw);
  }
}
@media (max-width: 575.98px) {
  .app-header__program {
    max-width: min(118px, 34vw);
  }
}
.app-header__program-select-wrap {
  position: relative;
  min-width: 0;
  width: 100%;
  z-index: 1;
}
.app-header__program-select-wrap.is-open {
  z-index: 60;
}
.app-header__program-select-wrap.is-open .app-header__program-chevron i {
  transform: rotate(180deg);
}
.app-header__program-select {
  height: 43px;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  padding: 0 2.5rem 0 1.15rem;
  border: 1px solid #d9d9d9;
  border-radius: 999px;
  background: #ffffff;
  color: #1F4169;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
  text-overflow: ellipsis;
}
.app-header__program-select:hover {
  background: #eef3fa;
  border-color: #cdd5e0;
}
.app-header__program-select:focus {
  background: #ffffff;
  border-color: #758F9F;
  box-shadow: none;
  outline: none;
}
@media (min-width: 768px) {
  .app-header__program-select {
    min-width: 160px;
  }
}
@media (max-width: 575.98px) {
  .app-header__program-select {
    height: 44px;
    font-size: 0.75rem;
    padding-left: 0.75rem;
    padding-right: 1.75rem;
  }
}
.app-header__program-chevron {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #1F4169;
  font-size: 0.7rem;
  pointer-events: none;
  line-height: 1;
  opacity: 0.75;
}
.app-header__program-chevron i {
  display: inline-block;
  transition: transform 0.2s ease;
}
@media (max-width: 575.98px) {
  .app-header__program-chevron {
    right: 0.65rem;
  }
}
.app-header__quick-action {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  height: 46px;
  padding: 0 1.125rem;
  background: #eef3fa !important;
  border: none !important;
  border-radius: 999px !important;
  color: #1F4169 !important;
  font-size: 0.875rem;
  font-weight: 500;
  box-shadow: none !important;
}
.app-header__quick-action::after {
  display: none;
}
.app-header__quick-action:hover, .app-header__quick-action:focus, .app-header__quick-action.show {
  background: rgb(88.696969697%, 92.0213903743%, 96.6755793226%) !important;
  color: #1F4169 !important;
}
.app-header__quick-icon {
  color: #e84545;
  font-size: 0.65rem;
}
.app-header__notify {
  position: relative;
  width: 50px;
  height: 50px;
  border: 1px solid #758F9F;
  border-radius: 50%;
  background: transparent;
  color: #1F4169;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  flex-shrink: 0;
  font-size: 1.1rem;
  line-height: 1;
  text-decoration: none;
  overflow: visible;
  box-sizing: border-box;
}
.app-header__notify:hover {
  background: #eef3fa;
  color: #1F4169;
}
.app-header__notify-badge {
  position: absolute;
  top: 0.3rem;
  right: 0.3rem;
  z-index: 2;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border: 2px solid #fafcff;
  border-radius: 999px;
  background: #e84545;
  color: #ffffff;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 14px;
  text-align: center;
  pointer-events: none;
  box-sizing: border-box;
}
.app-header__profile {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0;
  border: none;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  flex-shrink: 0;
}
.app-header__profile::after {
  display: none;
}
.app-header__profile:hover, .app-header__profile:focus {
  background: transparent;
  box-shadow: none;
}
.app-header__avatar-img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}
.app-header__user {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  line-height: 1.2;
}
.app-header__name {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #1a1a1a;
}
.app-header__role {
  font-size: 0.75rem;
  font-weight: 500;
  color: #f06565;
}

.app-header__avatar-img-container {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #758F9F;
  padding: 2px;
  flex-shrink: 0;
  box-sizing: border-box;
}

@media (max-width: 991.98px) {
  .app-header__notify {
    width: 44px;
    height: 44px;
    border-color: #e4e9f0;
    background: #ffffff;
  }
  .app-header__notify-badge {
    top: 0.2rem;
    right: 0.2rem;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    font-size: 0.5625rem;
    line-height: 12px;
  }
  .app-header__avatar-img-container {
    width: 44px;
    height: 44px;
    border-color: #e4e9f0;
    padding: 0;
  }
}
.sidebar--layout-desktop {
  display: none;
}
@media (min-width: 1100px) {
  .sidebar--layout-desktop {
    display: flex;
  }
}

.app-header__menu.sidebar--layout-mobile {
  display: inline-flex;
}
@media (min-width: 1100px) {
  .app-header__menu.sidebar--layout-mobile {
    display: none !important;
  }
}

.sidebar__menu-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
}

.sidebar__expand-icon {
  font-size: 0.7rem;
  opacity: 0.8;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.sidebar__expand-icon--open {
  transform: rotate(180deg);
}
.sidebar__subnav {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding: 0.25rem 0 0.5rem 1.75rem;
}
.sidebar__subnav--super, .sidebar__subnav--fto {
  padding: 0.25rem 0 0.5rem 0;
}
.sidebar__sublink {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.5rem;
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.75rem;
  text-decoration: none;
  border-radius: 10px;
  transition: color 0.2s, background 0.2s;
}
.sidebar__sublink .sidebar__sub-chevron,
.sidebar__sublink .bi:not(.sidebar__expand-icon),
.sidebar__sublink .sidebar__sub-icon--fto {
  opacity: 0.72;
  transition: color 0.2s, opacity 0.2s, filter 0.2s;
  flex-shrink: 0;
}
.sidebar__sublink .sidebar__sub-chevron {
  font-size: 0.6rem;
}
.sidebar__sublink .sidebar__sub-icon--fto.sidebar__sub-icon--img {
  opacity: 0.72;
  transition: opacity 0.2s, filter 0.2s;
}
.sidebar__sublink .sidebar__expand-icon {
  opacity: 0.72;
}
.sidebar__sublink:hover:not(.active) {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}
.sidebar__sublink:hover:not(.active) .sidebar__sub-chevron,
.sidebar__sublink:hover:not(.active) .bi:not(.sidebar__expand-icon),
.sidebar__sublink:hover:not(.active) .sidebar__sub-icon--fto,
.sidebar__sublink:hover:not(.active) .sidebar__expand-icon {
  opacity: 1;
  color: #ffffff;
}
.sidebar__sublink:hover:not(.active) .sidebar__sub-icon--fto.sidebar__sub-icon--img {
  opacity: 1;
  filter: brightness(0) invert(1);
}
.sidebar__sublink.active {
  color: #e84545;
  font-weight: 600;
  background: transparent;
}
.sidebar__sublink.active .sidebar__sub-chevron,
.sidebar__sublink.active .bi:not(.sidebar__expand-icon),
.sidebar__sublink.active .sidebar__sub-icon--fto,
.sidebar__sublink.active .sidebar__expand-icon {
  opacity: 1;
  color: #e84545;
}
.sidebar__sublink.active .sidebar__sub-icon--fto.sidebar__sub-icon--img {
  opacity: 1;
  filter: brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1200%) hue-rotate(326deg) brightness(95%);
}
.sidebar__sublink--fto {
  font-size: 0.875rem;
  gap: 0.5rem;
}
.sidebar__sublink--fto .sidebar__sub-icon--fto {
  width: 20px;
  height: 20px;
  font-size: 1.25rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.sidebar__sublink--fto .sidebar__sub-icon--fto.sidebar__sub-icon--img {
  object-fit: contain;
  display: block;
}

.sidebar__subgroup {
  display: flex;
  flex-direction: column;
}

.sidebar__sublink--parent {
  cursor: pointer;
  width: 100%;
  border: 0;
  background: none;
  text-align: left;
}
.sidebar__sublink--parent > span {
  text-align: left;
}
.sidebar__sublink--parent .sidebar__expand-icon {
  margin-left: auto;
  font-size: 0.6rem;
  opacity: 0.8;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.sidebar__sublink--parent .sidebar__expand-icon--open {
  transform: rotate(180deg);
}
.sidebar__sublink--parent.active {
  color: #e84545;
  font-weight: 600;
}
.sidebar__sublink--parent.active .sidebar__sub-chevron {
  opacity: 1;
  color: #e84545;
}

.sidebar__subnav--nested {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding: 0.125rem 0 0.25rem 0.75rem;
}

.sidebar__accordion {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.sidebar__accordion.is-open {
  grid-template-rows: 1fr;
}

.sidebar__accordion-clip {
  min-height: 0;
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .sidebar__accordion {
    transition: none;
  }
}
.sidebar-offcanvas {
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: 100dvh;
  overflow: hidden;
}
.sidebar-offcanvas .offcanvas-header {
  flex-shrink: 0;
}
.sidebar-offcanvas__body,
.sidebar-offcanvas .offcanvas-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-width: none;
}
.sidebar-offcanvas__body::-webkit-scrollbar,
.sidebar-offcanvas .offcanvas-body::-webkit-scrollbar {
  display: none;
}
.sidebar-offcanvas .nav {
  width: 100%;
  overflow: visible;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.sidebar-offcanvas .sidebar__link {
  color: rgba(255, 255, 255, 0.82);
  border-radius: 999px;
  transition: color 0.2s, background 0.2s;
  text-decoration: none;
}
.sidebar-offcanvas .sidebar__link .sidebar__menu-icon {
  opacity: 0.72;
  transition: filter 0.2s, opacity 0.2s;
}
.sidebar-offcanvas .sidebar__link .bi:not(.sidebar__expand-icon),
.sidebar-offcanvas .sidebar__link .sidebar__sub-chevron {
  opacity: 0.72;
  transition: color 0.2s, opacity 0.2s;
}
.sidebar-offcanvas .sidebar__link .sidebar__expand-icon {
  opacity: 0.72;
}
.sidebar-offcanvas .sidebar__link:hover:not(.active) {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  margin-right: 0.75rem;
}
.sidebar-offcanvas .sidebar__link:hover:not(.active) .sidebar__menu-icon {
  opacity: 1;
  filter: brightness(0) invert(1);
}
.sidebar-offcanvas .sidebar__link:hover:not(.active) .bi:not(.sidebar__expand-icon),
.sidebar-offcanvas .sidebar__link:hover:not(.active) .sidebar__sub-chevron,
.sidebar-offcanvas .sidebar__link:hover:not(.active) .sidebar__expand-icon {
  opacity: 1;
  color: #ffffff;
}
.sidebar-offcanvas .sidebar__link--open:not(.active) {
  color: #ffffff;
  font-weight: 600;
}
.sidebar-offcanvas .sidebar__link--open:not(.active) .sidebar__menu-icon {
  opacity: 1;
  filter: brightness(0) invert(1);
}
.sidebar-offcanvas .sidebar__link--open:not(.active) .bi:not(.sidebar__expand-icon),
.sidebar-offcanvas .sidebar__link--open:not(.active) .sidebar__sub-chevron,
.sidebar-offcanvas .sidebar__link--open:not(.active) .sidebar__expand-icon {
  opacity: 1;
  color: #ffffff;
}
.sidebar-offcanvas .sidebar__link.active {
  position: relative;
  background: #fafcff !important;
  color: #e84545 !important;
  font-weight: 600;
  margin-right: 0.75rem;
  padding-right: 1.125rem;
  z-index: 1;
  border-radius: 999px;
}
.sidebar-offcanvas .sidebar__link.active::before, .sidebar-offcanvas .sidebar__link.active::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
}
.sidebar-offcanvas .sidebar__link.active .sidebar__menu-icon {
  filter: brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1200%) hue-rotate(326deg) brightness(95%);
}
.sidebar-offcanvas .sidebar__link.active .bi:not(.sidebar__expand-icon) {
  color: #e84545;
}
.sidebar-offcanvas .sidebar__link.active .sidebar__expand-icon {
  color: #e84545;
  opacity: 1;
}
.sidebar-offcanvas .sidebar__expand-icon {
  font-size: 0.7rem;
  opacity: 0.8;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.sidebar-offcanvas .sidebar__expand-icon--open {
  transform: rotate(180deg);
}
.sidebar-offcanvas .sidebar__subnav {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding: 0.25rem 0 0.5rem 1.75rem;
}
.sidebar-offcanvas .sidebar__sublink {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.5rem;
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.75rem;
  text-decoration: none;
  border-radius: 10px;
  transition: color 0.2s, background 0.2s;
}
.sidebar-offcanvas .sidebar__sublink .sidebar__sub-chevron,
.sidebar-offcanvas .sidebar__sublink .bi:not(.sidebar__expand-icon),
.sidebar-offcanvas .sidebar__sublink .sidebar__sub-icon--fto {
  opacity: 0.72;
  transition: color 0.2s, opacity 0.2s, filter 0.2s;
  flex-shrink: 0;
}
.sidebar-offcanvas .sidebar__sublink .sidebar__sub-chevron {
  font-size: 0.6rem;
}
.sidebar-offcanvas .sidebar__sublink .sidebar__sub-icon--fto.sidebar__sub-icon--img {
  opacity: 0.72;
  transition: opacity 0.2s, filter 0.2s;
}
.sidebar-offcanvas .sidebar__sublink .sidebar__expand-icon {
  opacity: 0.72;
}
.sidebar-offcanvas .sidebar__sublink:hover:not(.active) {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}
.sidebar-offcanvas .sidebar__sublink:hover:not(.active) .sidebar__sub-chevron,
.sidebar-offcanvas .sidebar__sublink:hover:not(.active) .bi:not(.sidebar__expand-icon),
.sidebar-offcanvas .sidebar__sublink:hover:not(.active) .sidebar__sub-icon--fto,
.sidebar-offcanvas .sidebar__sublink:hover:not(.active) .sidebar__expand-icon {
  opacity: 1;
  color: #ffffff;
}
.sidebar-offcanvas .sidebar__sublink:hover:not(.active) .sidebar__sub-icon--fto.sidebar__sub-icon--img {
  opacity: 1;
  filter: brightness(0) invert(1);
}
.sidebar-offcanvas .sidebar__sublink.active {
  color: #e84545;
  font-weight: 600;
  background: transparent;
}
.sidebar-offcanvas .sidebar__sublink.active .sidebar__sub-chevron,
.sidebar-offcanvas .sidebar__sublink.active .bi:not(.sidebar__expand-icon),
.sidebar-offcanvas .sidebar__sublink.active .sidebar__sub-icon--fto,
.sidebar-offcanvas .sidebar__sublink.active .sidebar__expand-icon {
  opacity: 1;
  color: #e84545;
}
.sidebar-offcanvas .sidebar__sublink.active .sidebar__sub-icon--fto.sidebar__sub-icon--img {
  opacity: 1;
  filter: brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1200%) hue-rotate(326deg) brightness(95%);
}
.sidebar-offcanvas .sidebar__sublink--fto {
  font-size: 0.875rem;
  gap: 0.5rem;
}
.sidebar-offcanvas .sidebar__sublink--fto .sidebar__sub-icon--fto {
  width: 20px;
  height: 20px;
  font-size: 1.25rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.sidebar-offcanvas .sidebar__sublink--fto .sidebar__sub-icon--fto.sidebar__sub-icon--img {
  object-fit: contain;
  display: block;
}

.sidebar .sidebar__link.active {
  position: relative;
  background: #fafcff !important;
  color: #e84545 !important;
  font-weight: 600;
  margin-right: -0.5rem;
  padding-right: 1.125rem;
  z-index: 2;
  border-radius: 999px 0 0 999px;
}
.sidebar .sidebar__link.active::before, .sidebar .sidebar__link.active::after {
  content: "";
  position: absolute;
  right: 0;
  width: 1.25rem;
  height: 1.25rem;
  background: transparent;
  pointer-events: none;
}
.sidebar .sidebar__link.active::before {
  top: -1.25rem;
  border-bottom-right-radius: 1.25rem;
  box-shadow: 5px 5px 0 5px #fafcff;
}
.sidebar .sidebar__link.active::after {
  bottom: -1.25rem;
  border-top-right-radius: 1.25rem;
  box-shadow: 5px -5px 0 5px #fafcff;
}
.sidebar .sidebar__link.active .sidebar__menu-icon {
  filter: brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1200%) hue-rotate(326deg) brightness(95%);
}
.sidebar .sidebar__link.active .bi:not(.sidebar__expand-icon) {
  color: #e84545;
}
.sidebar .sidebar__link.active .sidebar__expand-icon {
  color: #e84545;
  opacity: 1;
}
.sidebar .sidebar__link.active .sidebar__menu-icon,
.sidebar .sidebar__link.active .bi:not(.sidebar__expand-icon),
.sidebar .sidebar__link.active .sidebar__sub-chevron,
.sidebar .sidebar__link.active .sidebar__expand-icon {
  opacity: 1;
}

.sidebar .sidebar__link.sidebar__link--sa-current,
.sidebar .sidebar__link.sidebar__link--fto-current {
  position: relative;
  background: transparent !important;
  color: #e84545 !important;
  font-weight: 600;
  margin-right: 0;
  padding-right: 1rem;
  z-index: 1;
  border-radius: 999px;
}
.sidebar .sidebar__link.sidebar__link--sa-current::before, .sidebar .sidebar__link.sidebar__link--sa-current::after,
.sidebar .sidebar__link.sidebar__link--fto-current::before,
.sidebar .sidebar__link.sidebar__link--fto-current::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
}
.sidebar .sidebar__link.sidebar__link--sa-current .sidebar__menu-icon,
.sidebar .sidebar__link.sidebar__link--fto-current .sidebar__menu-icon {
  filter: brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1200%) hue-rotate(326deg) brightness(95%);
  opacity: 1;
}
.sidebar .sidebar__link.sidebar__link--sa-current .bi:not(.sidebar__expand-icon),
.sidebar .sidebar__link.sidebar__link--fto-current .bi:not(.sidebar__expand-icon) {
  color: #e84545;
  opacity: 1;
}
.sidebar .sidebar__link.sidebar__link--sa-current .sidebar__expand-icon,
.sidebar .sidebar__link.sidebar__link--fto-current .sidebar__expand-icon {
  color: #e84545;
  opacity: 1;
}

.sidebar .sidebar__link .bi:not(.sidebar__expand-icon) {
  width: 20px;
  height: 20px;
  font-size: 1.25rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.sidebar .sidebar__link.active[data-nav-link]::before, .sidebar .sidebar__link.active[data-nav-link]::after {
  right: 0.5rem;
}

.sidebar-offcanvas .sidebar__link.active {
  position: relative;
  background: #fafcff !important;
  color: #e84545 !important;
  font-weight: 600;
  margin-right: 0.75rem;
  padding-right: 1.125rem;
  z-index: 1;
  border-radius: 999px;
}
.sidebar-offcanvas .sidebar__link.active::before, .sidebar-offcanvas .sidebar__link.active::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
}
.sidebar-offcanvas .sidebar__link.active .sidebar__menu-icon {
  filter: brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1200%) hue-rotate(326deg) brightness(95%);
}
.sidebar-offcanvas .sidebar__link.active .bi:not(.sidebar__expand-icon) {
  color: #e84545;
}
.sidebar-offcanvas .sidebar__link.active .sidebar__expand-icon {
  color: #e84545;
  opacity: 1;
}

.sidebar-offcanvas .sidebar__link.sidebar__link--sa-current,
.sidebar-offcanvas .sidebar__link.sidebar__link--fto-current {
  position: relative;
  background: transparent !important;
  color: #e84545 !important;
  font-weight: 600;
  margin-right: 0;
  border-radius: 999px;
}
.sidebar-offcanvas .sidebar__link.sidebar__link--sa-current::before, .sidebar-offcanvas .sidebar__link.sidebar__link--sa-current::after,
.sidebar-offcanvas .sidebar__link.sidebar__link--fto-current::before,
.sidebar-offcanvas .sidebar__link.sidebar__link--fto-current::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
}
.sidebar-offcanvas .sidebar__link.sidebar__link--sa-current .sidebar__menu-icon,
.sidebar-offcanvas .sidebar__link.sidebar__link--fto-current .sidebar__menu-icon {
  filter: brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1200%) hue-rotate(326deg) brightness(95%);
  opacity: 1;
}
.sidebar-offcanvas .sidebar__link.sidebar__link--sa-current .bi:not(.sidebar__expand-icon),
.sidebar-offcanvas .sidebar__link.sidebar__link--fto-current .bi:not(.sidebar__expand-icon) {
  color: #e84545;
  opacity: 1;
}
.sidebar-offcanvas .sidebar__link.sidebar__link--sa-current .sidebar__expand-icon,
.sidebar-offcanvas .sidebar__link.sidebar__link--fto-current .sidebar__expand-icon {
  color: #e84545;
  opacity: 1;
}

.sidebar-offcanvas .sidebar__link .bi:not(.sidebar__expand-icon) {
  width: 20px;
  height: 20px;
  font-size: 1.25rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.main-layout {
  background-color: #fafcff;
}

body.fto-admin-page {
  background-color: #e8eef4;
}
body.fto-admin-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.fto-admin-page .main-layout {
  padding: 0 !important;
}
body.fto-admin-page .fto-admin-scope {
  min-width: 0;
}
body.fto-admin-page .fto-admin-scope .batch-detail__hero {
  display: block;
  grid-template-columns: none;
}
body.fto-admin-page .fto-admin-scope .batch-detail__hero--split {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 1rem;
  align-items: stretch;
  margin-bottom: 15px;
}
@media (max-width: 1500px) {
  body.fto-admin-page .fto-admin-scope .batch-detail__hero--split {
    grid-template-columns: 1fr 1.3fr;
  }
}
@media (max-width: 1400px) {
  body.fto-admin-page .fto-admin-scope .batch-detail__hero--split {
    grid-template-columns: 1fr;
  }
}

.fto-admin-scope .content,
.subject-chapters .content,
.tests-exams .content,
.question-bank .content,
.resources .content,
.fto-management .content,
.fto-detail .content,
.fto-student-detail .content,
.fto-program-detail .content,
.fto-batch-detail .content,
.fto-classroom-detail .content,
.fto-lesson-plan-detail .content,
.fto-cgi-instructor-detail .content,
.fto-staff-detail .content,
.fto-reports-list .content,
.student-list .content,
.prospective-students-list .content,
.prospective-student-detail .content,
.student-view .content,
.programs .content,
.testimonials .content,
.support-feedback .content,
.support-feedback-reply .content,
.satisfaction-ratings .content,
.bulk-coupon-detail .content,
.blogs .content,
.my-notifications .content {
  margin: 10px 18px 18px;
  background: #ffffff;
  border-radius: 40px;
  padding: 22px;
  box-shadow: 0 8px 40px rgba(31, 65, 105, 0.08);
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
}
@media (max-width: 991.98px) {
  .fto-admin-scope .content,
  .subject-chapters .content,
  .tests-exams .content,
  .question-bank .content,
  .resources .content,
  .fto-management .content,
  .fto-detail .content,
  .fto-student-detail .content,
  .fto-program-detail .content,
  .fto-batch-detail .content,
  .fto-classroom-detail .content,
  .fto-lesson-plan-detail .content,
  .fto-cgi-instructor-detail .content,
  .fto-staff-detail .content,
  .fto-reports-list .content,
  .student-list .content,
  .prospective-students-list .content,
  .prospective-student-detail .content,
  .student-view .content,
  .programs .content,
  .testimonials .content,
  .support-feedback .content,
  .support-feedback-reply .content,
  .satisfaction-ratings .content,
  .bulk-coupon-detail .content,
  .blogs .content,
  .my-notifications .content {
    margin: 0.5rem 0.65rem 0.85rem;
    padding: 0.85rem 0.75rem;
    border-radius: 24px;
  }
}
@media (max-width: 575.98px) {
  .fto-admin-scope .content,
  .subject-chapters .content,
  .tests-exams .content,
  .question-bank .content,
  .resources .content,
  .fto-management .content,
  .fto-detail .content,
  .fto-student-detail .content,
  .fto-program-detail .content,
  .fto-batch-detail .content,
  .fto-classroom-detail .content,
  .fto-lesson-plan-detail .content,
  .fto-cgi-instructor-detail .content,
  .fto-staff-detail .content,
  .fto-reports-list .content,
  .student-list .content,
  .prospective-students-list .content,
  .prospective-student-detail .content,
  .student-view .content,
  .programs .content,
  .testimonials .content,
  .support-feedback .content,
  .support-feedback-reply .content,
  .satisfaction-ratings .content,
  .bulk-coupon-detail .content,
  .blogs .content,
  .my-notifications .content {
    margin: 0.4rem 0.5rem 0.75rem;
    padding: 0.75rem 0.65rem;
    border-radius: 20px;
  }
}

.question-bank .qb-edit,
.question-bank .qb-conflict-questions-view,
.question-bank .qb-error-files-view {
  margin: 10px 18px 18px;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
@media (max-width: 991.98px) {
  .question-bank .qb-edit,
  .question-bank .qb-conflict-questions-view,
  .question-bank .qb-error-files-view {
    margin: 0.5rem 0.65rem 0.85rem;
    padding: 0.85rem 0.75rem;
  }
}
@media (max-width: 575.98px) {
  .question-bank .qb-edit,
  .question-bank .qb-conflict-questions-view,
  .question-bank .qb-error-files-view {
    margin: 0.4rem 0.5rem 0.75rem;
    padding: 0.75rem 0.65rem;
  }
}

body.subject-chapters-page {
  background-color: #e8eef4;
}
body.subject-chapters-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.subject-chapters-page .main-layout {
  padding: 0 !important;
}

body.fto-reports-list-page {
  background-color: #e8eef4;
}
body.fto-reports-list-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.fto-reports-list-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
  background: transparent;
}
body.fto-reports-list-page .fto-reports-list {
  width: 100%;
  min-width: 0;
}

body.student-list-page {
  background-color: #e8eef4;
}
body.student-list-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.student-list-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
  background: transparent;
}
body.student-list-page .student-list {
  width: 100%;
  min-width: 0;
}

body.prospective-student-detail-page {
  background-color: #e8eef4;
}
body.prospective-student-detail-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.prospective-student-detail-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
  background: transparent;
}
body.prospective-student-detail-page .prospective-student-detail {
  width: 100%;
  min-width: 0;
}

body.prospective-students-list-page {
  background-color: #e8eef4;
}
body.prospective-students-list-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.prospective-students-list-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
  background: transparent;
}
body.prospective-students-list-page .prospective-students-list {
  width: 100%;
  min-width: 0;
}
body.prospective-students-list-page .ps-students-filter-modal .sm-edit-module-modal__dialog,
body.prospective-students-list-page .ps-students-filter-modal .sm-edit-module-modal__content,
body.prospective-students-list-page .ps-students-filter-modal .sm-edit-module-modal__body {
  overflow: visible;
}
body.prospective-students-list-page .ps-students-filter-modal .modal-dialog:not(.modal-dialog-scrollable) {
  overflow: visible;
}
body.prospective-students-list-page .ps-students-filter-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-content,
body.prospective-students-list-page .ps-students-filter-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-body {
  overflow: visible;
}
body.prospective-students-list-page .ps-students-filter-modal .sm-edit-module-form {
  overflow: visible;
}
body.prospective-students-list-page #ps-filter-modal .sm-edit-module-modal__dialog,
body.prospective-students-list-page #ps-ft-filter-modal .sm-edit-module-modal__dialog {
  max-width: min(560px, 100% - 2rem);
}

body.student-view-page {
  background-color: #e8eef4;
}
body.student-view-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.student-view-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
  background: transparent;
}
body.student-view-page .student-view {
  width: 100%;
  min-width: 0;
}

body.resources-page {
  background-color: #e8eef4;
}
body.resources-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.resources-page .main-layout {
  padding: 0 !important;
  background: transparent;
}

body.programs-page {
  background-color: #e8eef4;
}
body.programs-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.programs-page .main-layout {
  padding: 0 !important;
  background: transparent;
  overflow-x: hidden;
  min-width: 0;
}
body.programs-page .programs {
  width: 100%;
  min-width: 0;
}

body.program-detail-page #programDetailModal .sm-edit-module-modal__dialog {
  max-width: min(400px, 100% - 2rem);
}
body.program-detail-page .fto-adm-ui .btn.btn--view {
  background: #000;
  color: #fff;
}
body.program-detail-page .fto-adm-ui .btn.btn--view:hover, body.program-detail-page .fto-adm-ui .btn.btn--view:focus-visible {
  background: #1a1a1a;
  color: #fff;
}
body.program-detail-page .fto-adm-ui .btn.btn--view:disabled, body.program-detail-page .fto-adm-ui .btn.btn--view[disabled] {
  background: #000;
  color: #fff;
  border-color: transparent;
  opacity: 0.55;
}

body.testimonials-page {
  background-color: #e8eef4;
}
body.testimonials-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.testimonials-page .main-layout {
  padding: 0 !important;
  background: transparent;
  overflow-x: hidden;
  min-width: 0;
}
body.testimonials-page .testimonials {
  width: 100%;
  min-width: 0;
}

body.support-feedback-page {
  background-color: #e8eef4;
}
body.support-feedback-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.support-feedback-page .main-layout {
  padding: 0 !important;
  background: transparent;
  overflow-x: hidden;
  min-width: 0;
}
body.support-feedback-page .support-feedback {
  width: 100%;
  min-width: 0;
}

body.satisfaction-ratings-page {
  background-color: #e8eef4;
}
body.satisfaction-ratings-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.satisfaction-ratings-page .main-layout {
  padding: 0 !important;
  background: transparent;
  overflow-x: hidden;
  min-width: 0;
}
body.satisfaction-ratings-page .satisfaction-ratings {
  width: 100%;
  min-width: 0;
}
body.satisfaction-ratings-page .content:has(.filter-multi-select.is-open) {
  overflow: visible;
}
body.satisfaction-ratings-page .page-header {
  position: relative;
  z-index: 1;
}
body.satisfaction-ratings-page .page-header:has(.filter-multi-select.is-open) {
  z-index: 50;
}

body.support-feedback-reply-page {
  background-color: #e8eef4;
}
body.support-feedback-reply-page .app-main {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
body.support-feedback-reply-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
body.support-feedback-reply-page .main-layout {
  padding: 0 !important;
  background: transparent;
  overflow: hidden;
  min-width: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
body.support-feedback-reply-page .support-feedback-reply {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
body.support-feedback-reply-page .support-feedback-reply .content.fto-adm-ui {
  padding: 16px 22px 18px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

@media (max-width: 768px) {
  body.support-feedback-reply-page .support-feedback-reply .content.fto-adm-ui {
    padding: 16px 10px 10px;
  }
}
body.tests-exams-page {
  background-color: #e8eef4;
}
body.tests-exams-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.tests-exams-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
}
body.tests-exams-page .tests-exams {
  width: 100%;
  min-width: 0;
}
body.tests-exams-page .tests-exams-page-header__actions {
  align-items: center;
  gap: 0.65rem;
}
body.tests-exams-page .tests-exams-page-header__actions .subject-chapters-program-filter__select {
  min-width: 200px;
}
@media (max-width: 991.98px) {
  body.tests-exams-page .tests-exams-page-header__actions {
    width: 100%;
  }
  body.tests-exams-page .tests-exams-page-header__actions .subject-chapters-program-filter,
  body.tests-exams-page .tests-exams-page-header__actions .subject-chapters-program-filter__select,
  body.tests-exams-page .tests-exams-page-header__actions .app-header__program-select-wrap,
  body.tests-exams-page .tests-exams-page-header__actions .app-header__program-select {
    width: 100%;
    max-width: 100%;
  }
  body.tests-exams-page .tests-exams-page-header__actions .btn--primary {
    width: 100%;
  }
}

body.question-bank-page .question-bank-page-header__actions {
  align-items: center;
  gap: 0.65rem;
}
body.question-bank-page .question-bank-page-header__actions .subject-chapters-program-filter__select {
  min-width: 200px;
}
@media (max-width: 991.98px) {
  body.question-bank-page .question-bank-page-header__actions {
    width: 100%;
  }
  body.question-bank-page .question-bank-page-header__actions .subject-chapters-program-filter,
  body.question-bank-page .question-bank-page-header__actions .subject-chapters-program-filter__select,
  body.question-bank-page .question-bank-page-header__actions .app-header__program-select-wrap,
  body.question-bank-page .question-bank-page-header__actions .app-header__program-select,
  body.question-bank-page .question-bank-page-header__actions .btn {
    width: 100%;
    max-width: 100%;
  }
}

body.subscription-modules-page {
  background-color: #e8eef4;
}
body.subscription-modules-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.subscription-modules-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
}
body.subscription-modules-page .subscription-modules {
  width: 100%;
  min-width: 0;
}

body.coupons-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
}
body.coupons-page .coupons {
  width: 100%;
  min-width: 0;
}

body.notifications-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
}
body.notifications-page .notifications {
  width: 100%;
  min-width: 0;
}

body.my-notifications-page {
  background-color: #e8eef4;
}
body.my-notifications-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.my-notifications-page .main-layout {
  padding: 0 !important;
  background: transparent;
  overflow-x: hidden;
  min-width: 0;
}
body.my-notifications-page .my-notifications {
  width: 100%;
  min-width: 0;
}

.my-notifications__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.65rem;
}
.my-notifications__unread-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 0.9rem;
  border-radius: 999px;
  background: rgba(232, 69, 69, 0.12);
  color: #d63a3a;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.my-notifications__unread-pill[hidden] {
  display: none !important;
}
.my-notifications__mark-all {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 40px;
  white-space: nowrap;
}
.my-notifications__mark-all:disabled, .my-notifications__mark-all[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}
.my-notifications__directory {
  margin-top: 0;
}
.my-notifications__panel {
  min-height: 280px;
}
.my-notifications__state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 2rem 1rem;
  text-align: center;
}
.my-notifications__state[hidden] {
  display: none !important;
}
.my-notifications__state-text {
  font-size: 0.875rem;
  color: #7a8799;
}
.my-notifications__state-icon {
  font-size: 2.5rem;
  color: rgba(31, 65, 105, 0.35);
}
.my-notifications__empty {
  min-height: 240px;
  padding: 1.5rem 1rem;
}
.my-notifications__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.fto-adm-ui .my-notifications-table {
  overflow: visible;
}
.fto-adm-ui .my-notifications-table[hidden] {
  display: none !important;
}
.fto-adm-ui .my-notifications-table .my-notifications__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.fto-adm-ui .fto-directory-row.my-notif-item {
  display: grid;
  grid-template-columns: minmax(220px, 0.95fr) minmax(0, 1.35fr) 28px;
  align-items: center;
  column-gap: 1rem;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 14px 16px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #eef2f6;
  color: inherit;
  text-decoration: none;
  box-shadow: none;
  transition: box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.fto-adm-ui .fto-directory-row.my-notif-item > * {
  min-width: 0;
  justify-self: stretch;
  align-self: center;
  text-align: left;
}
.fto-adm-ui .fto-directory-row.my-notif-item:hover, .fto-adm-ui .fto-directory-row.my-notif-item:focus-visible {
  box-shadow: 0 4px 16px rgba(12, 31, 61, 0.06);
  color: inherit;
  background: #fff;
}
.fto-adm-ui .fto-directory-row.my-notif-item.my-notif-item--unread {
  background: #eef5fb;
  border-color: #d5e4f2;
}
.fto-adm-ui .fto-directory-row.my-notif-item.my-notif-item--unread:hover, .fto-adm-ui .fto-directory-row.my-notif-item.my-notif-item--unread:focus-visible {
  background: #e6f0fa;
}
.fto-adm-ui .my-notif-item__lead {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  max-width: 100%;
  justify-self: start;
  text-align: left !important;
}
.fto-adm-ui .my-notif-item__icon {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #eaf4fb;
  color: #0c1f3d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
}
.fto-adm-ui .my-notif-item__title-row {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  min-width: 0;
}
.fto-adm-ui .my-notif-item__title {
  display: block;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #000;
  line-height: 1.3;
  margin: 0;
  text-align: left;
}
.fto-adm-ui .my-notif-item__detail {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  width: 100%;
  justify-self: center;
  text-align: center !important;
}
.fto-adm-ui .my-notif-item__message {
  display: block;
  width: 100%;
  max-width: 34rem;
  margin: 0 auto;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #1a2b42;
  line-height: 1.45;
  text-align: center;
}
.fto-adm-ui .my-notif-item__time {
  display: block;
  width: 100%;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6b7c93;
  text-align: center;
}
.fto-adm-ui .my-notif-item__chevron {
  justify-self: center;
  align-self: center;
  color: #9aa8b8;
  font-size: 0.95rem;
  line-height: 1;
  text-align: center !important;
}
.fto-adm-ui .my-notif-item__chevron--spacer {
  visibility: hidden;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-directory-row.my-notif-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 24px;
    grid-template-areas: "lead chevron" "detail detail";
    row-gap: 0.45rem;
    column-gap: 0.65rem;
    min-width: 0;
  }
  .fto-adm-ui .my-notif-item__lead {
    grid-area: lead;
    max-width: none;
  }
  .fto-adm-ui .my-notif-item__detail {
    grid-area: detail;
    align-items: flex-start;
    text-align: left !important;
  }
  .fto-adm-ui .my-notif-item__detail .my-notif-item__message,
  .fto-adm-ui .my-notif-item__detail .my-notif-item__time {
    text-align: left;
    margin: 0;
    max-width: none;
  }
  .fto-adm-ui .my-notif-item__chevron {
    grid-area: chevron;
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .fto-directory-row.my-notif-item {
    padding: 12px 12px;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "lead" "detail";
  }
  .fto-adm-ui .my-notif-item__icon {
    width: 40px;
    height: 40px;
    font-size: 0.95rem;
  }
  .fto-adm-ui .my-notif-item__chevron {
    display: none;
  }
}

body.faqs-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
}
body.faqs-page .faqs {
  width: 100%;
  min-width: 0;
}

body.blogs-page {
  background-color: #e8eef4;
}
body.blogs-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.blogs-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
  background: transparent;
}
body.blogs-page .blogs {
  width: 100%;
  min-width: 0;
}

body.flying-schools-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
}
body.flying-schools-page .flying-schools {
  width: 100%;
  min-width: 0;
}

body.aircraft-list-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
}
body.aircraft-list-page .aircraft-list {
  width: 100%;
  min-width: 0;
}

body.quotes-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
}
body.quotes-page .quotes {
  width: 100%;
  min-width: 0;
}
body.quotes-page .quotes-featured {
  margin-left: 0;
  margin-right: 0;
}

body.terms-and-conditions-page {
  height: 100vh;
  max-height: 100vh;
  overflow: hidden !important;
}
body.terms-and-conditions-page > .d-flex.min-vh-100 {
  height: 100vh;
  max-height: 100vh;
  min-height: 0 !important;
  overflow: hidden;
}
body.terms-and-conditions-page .app-main {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  max-height: 100%;
  overflow: hidden;
}
body.terms-and-conditions-page .app-panel {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto;
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
}
body.terms-and-conditions-page #app-header {
  flex-shrink: 0;
}
body.terms-and-conditions-page .main-layout {
  padding: 0 !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-height: 0;
  height: 100%;
}
body.terms-and-conditions-page .terms-and-conditions {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  max-width: none;
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}
body.terms-and-conditions-page .terms-and-conditions > .content.fto-adm-ui {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  max-width: none;
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  padding-left: 22px;
  padding-right: 22px;
  box-sizing: border-box;
}
body.terms-and-conditions-page .page-header {
  flex-shrink: 0;
}
body.terms-and-conditions-page .page-header__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}
body.terms-and-conditions-page .fto-adm-ui .terms-and-conditions-directory.directory {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 1.5rem 1.75rem;
  box-sizing: border-box;
  overflow: hidden;
}
body.terms-and-conditions-page .terms-card__content {
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(12, 31, 61, 0.3) rgba(12, 31, 61, 0.06);
}
body.terms-and-conditions-page .terms-card__content::-webkit-scrollbar {
  width: 8px;
}
body.terms-and-conditions-page .terms-card__content::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 999px;
  margin-block: 2px;
}
body.terms-and-conditions-page .terms-card__content::-webkit-scrollbar-thumb {
  background: rgba(12, 31, 61, 0.28);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
body.terms-and-conditions-page .terms-card__content::-webkit-scrollbar-thumb:hover {
  background: rgba(12, 31, 61, 0.42);
  background-clip: padding-box;
  border: 2px solid transparent;
}
body.terms-and-conditions-page .terms-card__content ul {
  margin: 0 0 0.85rem;
  padding-left: 1.25rem;
}
body.terms-and-conditions-page .terms-card__content p {
  margin-bottom: 0.65rem;
}
body.terms-and-conditions-page .terms-card__content p:last-child {
  margin-bottom: 0;
}
body.terms-and-conditions-page .terms-card__updated {
  flex-shrink: 0;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(12, 31, 61, 0.08);
  text-align: center;
  font-size: 0.875rem;
  font-weight: 600;
  color: #F15B55;
}
body.terms-and-conditions-page #editTermsAndConditionsModal .tox-tinymce {
  min-height: 420px;
  border-radius: 12px !important;
}
body.terms-and-conditions-page #editTermsAndConditionsModal .tox-edit-area__iframe {
  min-height: 360px;
}
body.terms-and-conditions-page #editTermsAndConditionsModal .notifications-date-wrap {
  width: 100%;
}
@media (max-width: 991.98px) {
  body.terms-and-conditions-page .terms-and-conditions > .content.fto-adm-ui {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  body.terms-and-conditions-page .fto-adm-ui .terms-and-conditions-directory.directory {
    padding: 0.85rem 0.9rem;
  }
}

body.dashboard-button-link-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
}
body.dashboard-button-link-page .dashboard-button-link {
  width: 100%;
  min-width: 0;
}
body.dashboard-button-link-page .dbl-edit-form .form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 0;
  min-width: 0;
}
body.dashboard-button-link-page .dbl-edit-form .form-field__label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
}
body.dashboard-button-link-page .dbl-edit-form .form-field__label-row > label {
  margin: 0;
  margin-left: 20px;
  font-size: 13px;
  font-weight: 400;
  color: #1a2b42;
}
body.dashboard-button-link-page .dbl-edit-form .form-field__required {
  color: #f15b55;
  margin-left: 2px;
}
body.dashboard-button-link-page .dbl-edit-form .form-field__hint {
  margin: 0;
  margin-right: 20px;
  padding-left: 0;
  text-align: right;
  flex-shrink: 1;
  min-width: 0;
  font-size: 11px;
  color: #6b7c93;
}
body.dashboard-button-link-page .dbl-edit-form .form-field__control {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
body.dashboard-button-link-page .dbl-edit-form .form-field__control--doc {
  cursor: pointer;
}
body.dashboard-button-link-page .dbl-edit-form .form-field__control--doc input[type=file] {
  position: absolute;
  top: 0;
  right: 46px;
  bottom: 0;
  left: 0;
  width: auto;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  padding: 0;
  border: none;
  z-index: 2;
}
body.dashboard-button-link-page .dbl-edit-form .form-field__control--doc .form-field__file-label {
  padding: 14px 72px 14px 18px;
}
body.dashboard-button-link-page .dbl-edit-form .form-field__control--doc:focus-within .form-field__file-label {
  border-color: rgba(12, 31, 61, 0.35);
}
body.dashboard-button-link-page .dbl-edit-form .form-field__file-label {
  display: block;
  width: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 14px 18px 14px 44px;
  font-size: 13px;
  color: #a0aec0;
  background: #fff;
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: border-color 0.15s, color 0.15s;
}
body.dashboard-button-link-page .dbl-edit-form .form-field__file-label.is-filled {
  color: #1a2b42;
}
body.dashboard-button-link-page .dbl-edit-form .form-field__attach {
  position: absolute;
  left: 16px;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #6b7c93;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 1;
  cursor: pointer;
}
body.dashboard-button-link-page .dbl-edit-form .form-field__attach svg {
  width: 18px;
  height: 18px;
  display: block;
}
body.dashboard-button-link-page .dbl-edit-form .form-field__attach--doc {
  left: auto;
  right: 44px;
  pointer-events: auto;
  z-index: 3;
}
body.dashboard-button-link-page .dbl-edit-form .form-field__reset {
  position: absolute;
  right: 8px;
  z-index: 5;
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 50%;
  background: #f15b55;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  cursor: pointer;
  pointer-events: auto;
}
body.dashboard-button-link-page .dbl-edit-form .form-field__reset svg {
  width: 14px;
  height: 14px;
  pointer-events: none;
}
body.dashboard-button-link-page .dbl-edit-form .form-field__reset:hover {
  opacity: 0.9;
}
body.dashboard-button-link-page .dbl-image-field__meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0.35rem 20px 0;
}
body.dashboard-button-link-page .dbl-image-view-link {
  flex-shrink: 0;
  white-space: nowrap;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1F4169;
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.dashboard-button-link-page .dbl-image-view-link:hover {
  color: rgb(8.5098039216%, 17.8431372549%, 28.8235294118%);
}

.dbl-crop-modal .modal-dialog {
  max-width: 480px;
}
.dbl-crop-modal .sc-app-modal__subtitle {
  margin-top: 0.35rem;
  font-size: 0.8125rem;
  color: #7a8799;
}
.dbl-crop-modal__stage {
  width: 100%;
  height: min(52vh, 360px);
  margin: 1rem 0 1.25rem;
  background: #0f172a;
  border-radius: 16px;
  overflow: hidden;
}
.dbl-crop-modal__image {
  display: block;
  max-width: 100%;
  opacity: 1;
}
.dbl-crop-modal .cropper-container {
  max-height: 100%;
}
.dbl-crop-modal .cropper-view-box,
.dbl-crop-modal .cropper-face {
  border-radius: 4px;
}
.dbl-crop-modal.show {
  z-index: 1065;
}

body.dbl-crop-open .modal-backdrop.show:last-of-type {
  z-index: 1060;
}

body.fto-detail-page {
  background-color: #e8eef4;
}
body.fto-detail-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.fto-detail-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
  background: transparent;
}
body.fto-detail-page .fto-detail {
  width: 100%;
  min-width: 0;
}
body.fto-detail-page .fto-detail__workspace {
  min-width: 0;
}

body.fto-student-detail-page {
  background-color: #e8eef4;
}
body.fto-student-detail-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.fto-student-detail-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
  background: transparent;
}
body.fto-student-detail-page .fto-student-detail {
  width: 100%;
  min-width: 0;
}
body.fto-student-detail-page .fto-student-detail__workspace {
  min-width: 0;
}

body.fto-program-detail-page {
  background-color: #e8eef4;
}
body.fto-program-detail-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.fto-program-detail-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
  background: transparent;
}
body.fto-program-detail-page .fto-program-detail {
  width: 100%;
  min-width: 0;
}
body.fto-program-detail-page .fto-program-detail__workspace {
  min-width: 0;
}

body.fto-batch-detail-page {
  background-color: #e8eef4;
}
body.fto-batch-detail-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.fto-batch-detail-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
  background: transparent;
}
body.fto-batch-detail-page .fto-batch-detail {
  width: 100%;
  min-width: 0;
}
body.fto-batch-detail-page .fto-batch-detail__workspace {
  min-width: 0;
}

body.fto-classroom-detail-page {
  background-color: #e8eef4;
}
body.fto-classroom-detail-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.fto-classroom-detail-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
  background: transparent;
}
body.fto-classroom-detail-page .fto-classroom-detail {
  width: 100%;
  min-width: 0;
}
body.fto-classroom-detail-page .fto-classroom-detail__workspace {
  min-width: 0;
}

body.fto-lesson-plan-detail-page {
  background-color: #e8eef4;
}
body.fto-lesson-plan-detail-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.fto-lesson-plan-detail-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
  background: transparent;
}
body.fto-lesson-plan-detail-page .fto-lesson-plan-detail {
  width: 100%;
  min-width: 0;
}

body.fto-cgi-instructor-detail-page {
  background-color: #e8eef4;
}
body.fto-cgi-instructor-detail-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.fto-cgi-instructor-detail-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
  background: transparent;
}
body.fto-cgi-instructor-detail-page .fto-cgi-instructor-detail {
  width: 100%;
  min-width: 0;
}
body.fto-cgi-instructor-detail-page .fto-cgi-instructor-detail__workspace {
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
}
body.fto-cgi-instructor-detail-page .fto-cgi-instructor-detail__workspace .cgi-details {
  min-width: 0;
  max-width: 100%;
}
body.fto-cgi-instructor-detail-page .fto-cgi-instructor-detail__workspace .cgi-tabs {
  max-width: 100%;
  margin-left: -4px;
  margin-right: -4px;
  padding-left: 4px;
  padding-right: 4px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
body.fto-cgi-instructor-detail-page .fto-cgi-instructor-detail__workspace .cgi-tabs::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
body.fto-cgi-instructor-detail-page .fto-cgi-instructor-detail__workspace .cgi-tabs .cgi-tabs__list {
  flex-wrap: nowrap;
  min-width: max-content;
}
body.fto-cgi-instructor-detail-page .fto-cgi-instructor-detail__workspace .cgi-tabs .cgi-tabs__btn {
  flex-shrink: 0;
}
body.fto-cgi-instructor-detail-page .fto-cgi-instructor-detail__workspace .directory,
body.fto-cgi-instructor-detail-page .fto-cgi-instructor-detail__workspace .table-wrap,
body.fto-cgi-instructor-detail-page .fto-cgi-instructor-detail__workspace .table-body {
  min-width: 0;
  max-width: 100%;
}

body.fto-staff-detail-page {
  background-color: #e8eef4;
}
body.fto-staff-detail-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.fto-staff-detail-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
  background: transparent;
}
body.fto-staff-detail-page .fto-staff-detail {
  width: 100%;
  min-width: 0;
}

body[data-page="dashboard.html"] .main-layout {
  padding: 0.5rem 0.5rem 0.5rem;
}
@media (min-width: 992px) {
  body[data-page="dashboard.html"] .main-layout {
    padding-left: 18px;
    padding-right: 18px;
  }
}

.dashboard {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-bottom: 0;
}
.dashboard .stats-shell.mb-4,
.dashboard .dashboard-stats-shell.mb-4,
.dashboard > section.mb-4 {
  margin-bottom: 0 !important;
}
.dashboard > section.row {
  --bs-gutter-x: 0.5rem;
  --bs-gutter-y: 0.5rem;
  margin-bottom: 0 !important;
}
@media (min-width: 992px) {
  .dashboard > section.row.g-lg-4 {
    --bs-gutter-x: 0.5rem;
    --bs-gutter-y: 0.5rem;
  }
}
.dashboard > section.section-block {
  margin-bottom: 0 !important;
}
.dashboard .section-block--panel {
  padding: 1rem 1.15rem;
  border-radius: 24px;
}
.dashboard .section-block--panel.section-block--panel-fto {
  padding: 1rem 1.15rem;
  border-radius: 24px;
}
.dashboard .section-block__header.mb-4 {
  margin-bottom: 0.85rem !important;
}
.dashboard .section-block__header.mb-3 {
  margin-bottom: 0.65rem !important;
}
.dashboard .section-block__content.row {
  --bs-gutter-x: 0.5rem;
  --bs-gutter-y: 0.5rem;
}
@media (min-width: 992px) {
  .dashboard .section-block__content.row.g-lg-4 {
    --bs-gutter-x: 0.5rem;
    --bs-gutter-y: 0.5rem;
  }
}
.dashboard .dashboard-card {
  padding: 1rem 1.15rem;
  border-radius: 24px;
}
.dashboard .dashboard-card--satisfaction {
  border-radius: 24px;
}
.dashboard .dashboard-card__head.mb-3,
.dashboard .sat-ratings-widget__head.mb-3 {
  margin-bottom: 0.65rem !important;
}
.dashboard .subscription-overview-card {
  padding: 1rem 1.1rem;
  border-radius: 24px;
}
.dashboard .subscription-overview-card__stats {
  --bs-gutter-x: 0.5rem;
  --bs-gutter-y: 0.25rem;
}
@media (max-width: 575.98px) {
  .dashboard .dashboard-card,
  .dashboard .dashboard-card--satisfaction,
  .dashboard .section-block--panel,
  .dashboard .subscription-overview-card {
    border-radius: 18px;
  }
}

.dashboard-card {
  background: #FFFFFF;
  box-shadow: 0px 0px 21.4px rgba(0, 0, 0, 0.08);
  border-radius: 40px;
  border: none;
  padding: 1.35rem 1.5rem;
}
.dashboard-card .row.g-2 > [class*=col-] {
  display: flex;
}
.dashboard-card .row.g-2 > [class*=col-] > .mini-stat {
  width: 100%;
  height: 100%;
}

.welcome-banner {
  background-image: url("../images/dashboard-card-bg.jpg");
  min-height: 150px;
  border-radius: 50px;
  margin-bottom: 2.5rem;
}
.welcome-banner__title {
  color: #ffffff;
  font-size: 1.625rem;
  font-weight: 500;
  margin-bottom: 0.35rem;
}
.welcome-banner__subtitle {
  color: rgba(255, 255, 255, 0.92);
  margin-bottom: 1.25rem;
  font-size: 0.9rem;
}
.welcome-banner__btn {
  color: #e84545;
  border: none;
  padding: 0.55rem 1.35rem;
  font-size: 0.875rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.welcome-banner__plane {
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  width: min(340px, 42%);
  pointer-events: none;
  display: none;
}
@media (min-width: 768px) {
  .welcome-banner__plane {
    display: block;
  }
}
.welcome-banner__plane-img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.2));
}

.stats-shell,
.dashboard-stats-shell {
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 0 21.4px rgba(0, 0, 0, 0.08);
  padding: 0.5rem;
}
@media (max-width: 575.98px) {
  .stats-shell,
  .dashboard-stats-shell {
    padding: 0.5rem;
    border-radius: 18px;
  }
}

.stats-shell .stats,
.dashboard .stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
}
@media (max-width: 1199.98px) {
  .stats-shell .stats,
  .dashboard .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .stats-shell .stats,
  .dashboard .stats {
    grid-template-columns: 1fr;
  }
}
.stats-shell .stats .stat-card,
.dashboard .stats .stat-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0.625rem 0.75rem;
  border-radius: 16px;
  background: #eaf4fb;
  border: 1px solid rgba(31, 65, 105, 0.06);
  color: #0b1f3f;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.stats-shell .stats .stat-card:hover,
.dashboard .stats .stat-card:hover {
  background: #1F4169;
  border-color: #1F4169;
  color: #ffffff;
  box-shadow: 0 12px 28px rgba(31, 65, 105, 0.16);
  transform: translateY(-2px);
  text-decoration: none;
}
.stats-shell .stats .stat-card:hover .stat-card__label,
.dashboard .stats .stat-card:hover .stat-card__label {
  color: rgba(255, 255, 255, 0.75);
}
.stats-shell .stats .stat-card:hover .stat-card__value,
.dashboard .stats .stat-card:hover .stat-card__value {
  color: #ffffff;
}
.stats-shell .stats .stat-card:hover .stat-card__sub,
.dashboard .stats .stat-card:hover .stat-card__sub {
  color: rgba(255, 255, 255, 0.72);
}
.stats-shell .stats .stat-card:hover .stat-card__icon,
.dashboard .stats .stat-card:hover .stat-card__icon {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}
.stats-shell .stats .stat-card:hover .stat-card__icon .bi,
.dashboard .stats .stat-card:hover .stat-card__icon .bi {
  color: #ffffff;
}
.stats-shell .stats .stat-card:hover .stat-card__icon svg,
.dashboard .stats .stat-card:hover .stat-card__icon svg {
  stroke: currentColor;
}
.stats-shell .stats .stat-card:hover .stat-card__icon img,
.dashboard .stats .stat-card:hover .stat-card__icon img {
  filter: brightness(0) invert(1);
}
.stats-shell .stats .stat-card--primary,
.dashboard .stats .stat-card--primary {
  background: #1F4169;
  border-color: #1F4169;
  color: #ffffff;
}
.stats-shell .stats .stat-card--primary .stat-card__label,
.dashboard .stats .stat-card--primary .stat-card__label {
  color: rgba(255, 255, 255, 0.75);
}
.stats-shell .stats .stat-card--primary .stat-card__value,
.dashboard .stats .stat-card--primary .stat-card__value {
  color: #ffffff;
}
.stats-shell .stats .stat-card--primary .stat-card__sub,
.dashboard .stats .stat-card--primary .stat-card__sub {
  color: rgba(255, 255, 255, 0.72);
}
.stats-shell .stats .stat-card--primary .stat-card__icon,
.dashboard .stats .stat-card--primary .stat-card__icon {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}
.stats-shell .stats .stat-card--primary .stat-card__icon .bi,
.dashboard .stats .stat-card--primary .stat-card__icon .bi {
  color: #ffffff;
}
.stats-shell .stats .stat-card--primary .stat-card__icon svg,
.dashboard .stats .stat-card--primary .stat-card__icon svg {
  stroke: currentColor;
}
.stats-shell .stats .stat-card--primary .stat-card__icon img,
.dashboard .stats .stat-card--primary .stat-card__icon img {
  filter: brightness(0) invert(1);
}
.stats-shell .stats .stat-card__icon,
.dashboard .stats .stat-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.18s ease, color 0.18s ease;
}
.stats-shell .stats .stat-card__icon .bi,
.dashboard .stats .stat-card__icon .bi {
  font-size: 1.1rem;
  line-height: 1;
}
.stats-shell .stats .stat-card__icon svg,
.dashboard .stats .stat-card__icon svg {
  stroke: currentColor;
}
.stats-shell .stats .stat-card__icon--navy,
.dashboard .stats .stat-card__icon--navy {
  color: #1F4169;
}
.stats-shell .stats .stat-card__label,
.dashboard .stats .stat-card__label {
  font-size: 11px;
  font-weight: 500;
  color: #7a8799;
  margin: 0 0 2px;
}
.stats-shell .stats .stat-card__value,
.dashboard .stats .stat-card__value {
  font-size: 1.275rem;
  font-weight: 700;
  color: #0b1f3f;
  letter-spacing: -0.02em;
  line-height: 1;
  margin: 0;
}

.stats-panel {
  background: #ffffff;
  box-shadow: 0 0 21.4px rgba(0, 0, 0, 0.08);
  border-radius: 58px;
  padding: 1.125rem 1.25rem;
  margin-left: 0;
  margin-right: 0;
  align-items: stretch;
}
@media (min-width: 576px) {
  .stats-panel {
    padding: 1.25rem 1.5rem;
  }
}
@media (min-width: 1200px) {
  .stats-panel {
    padding: 1.375rem 1.75rem;
  }
}
.stats-panel > .col {
  display: flex;
}
.stats-panel--flex {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
@media (min-width: 576px) {
  .stats-panel--flex {
    gap: 1rem;
  }
}
.stats-panel--flex > .sc-stat {
  flex: 1 1 100%;
  min-width: 0;
  display: flex;
}
@media (min-width: 576px) {
  .stats-panel--flex > .sc-stat {
    flex: 1 1 calc(50% - 0.5rem);
  }
}
@media (min-width: 1200px) {
  .stats-panel--flex > .sc-stat {
    flex: 1 1 calc(25% - 0.75rem);
  }
}

.stat-card {
  border-radius: 28px;
  width: 100%;
}
.stat-card__body {
  padding: 1.1rem 1.2rem;
  min-height: 100%;
}
@media (min-width: 1200px) {
  .stat-card__body {
    padding: 1.2rem 1.35rem;
  }
}
.stat-card--primary {
  background: #1F4169;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12), 0 4px 16px rgba(31, 65, 105, 0.35);
}
.stat-card--primary .stat-card__value,
.stat-card--primary .stat-card__label,
.stat-card--primary .stat-card__meta {
  color: #ffffff;
}
.stat-card--primary .stat-card__label {
  opacity: 0.92;
}
.stat-card--primary .stat-card__meta {
  opacity: 0.8;
  font-size: 0.6875rem;
  margin-top: 0.4rem;
}
.stat-card--light {
  background: #e8edf4;
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow: 0 2px 12px rgba(31, 65, 105, 0.06);
}
.stat-card__icon {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.stat-card__icon--on-dark {
  color: #e84545;
}
.stat-card__icon--navy {
  color: #081628;
}
.stat-card__icon--image img {
  display: block;
  width: 26px;
  height: 26px;
  object-fit: contain;
}
.stat-card__value {
  font-size: 1.625rem;
  font-weight: 700;
  color: #0b1f3f;
  line-height: 1.15;
}
.stat-card__label {
  font-size: 0.8125rem;
  color: #7a8799;
  margin-top: 0.15rem;
}
.stat-card__meta {
  font-size: 0.6875rem;
  color: #7a8799;
  margin-top: 0.25rem;
}
.stat-card__meta-rotator {
  position: relative;
  height: 1.35em;
  overflow: hidden;
  margin-top: 0.25rem;
}
.stat-card__meta-rotator__track {
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}
.stat-card__meta-rotator__item {
  display: block;
  height: 1.35em;
  line-height: 1.35em;
  font-size: inherit;
  color: inherit;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (prefers-reduced-motion: reduce) {
  .stat-card__meta-rotator__track {
    transition: none;
  }
}

.panel-title {
  font-size: 1rem;
  font-weight: 600;
  color: #0b1f3f;
}

.dashboard-card__head-strut {
  flex: 0 0 auto;
  width: 0;
  height: 2.375rem;
  margin: 0;
  padding: 0;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
}

.mini-stat {
  background: #eef3fa;
  border-radius: 18px;
  padding: 1rem 0.5rem;
  border: none;
  min-height: 88px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.mini-stat--link {
  text-decoration: none;
  color: inherit;
}
.mini-stat--link:hover {
  text-decoration: none;
  color: inherit;
}
.mini-stat--link:focus-visible {
  outline: 2px solid rgba(31, 65, 105, 0.35);
  outline-offset: 2px;
}
.mini-stat__value {
  font-size: 1.35rem;
  font-weight: 700;
  display: block;
  line-height: 1.2;
  color: #1F4169;
}
.mini-stat__label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #0b1f3f;
  line-height: 1.35;
  margin-top: 0.35rem;
  display: block;
}
.mini-stat--green .mini-stat__label {
  color: #2c9f02;
}
.mini-stat--orange .mini-stat__label {
  color: #d8901d;
}
.mini-stat--red .mini-stat__label {
  color: #f15b55;
}
.mini-stat--renewal .mini-stat__value {
  color: #d8901d;
}
.mini-stat--expired .mini-stat__value {
  color: #f15b55;
}
.mini-stat--split .mini-stat__values {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: 100%;
}
.mini-stat--split .mini-stat__value {
  color: #1F4169;
}
.mini-stat--split .mini-stat__divider {
  width: 1px;
  height: 1.65rem;
  background: #1F4169;
  flex-shrink: 0;
}
.mini-stat--split .mini-stat__segment {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none;
}
.mini-stat--split .mini-stat__segment--link {
  text-decoration: none;
  color: inherit;
  border-radius: 8px;
  padding: 0.15rem 0.35rem;
}
.mini-stat--split .mini-stat__segment--link:hover {
  background: transparent;
  text-decoration: none;
  color: inherit;
}
.mini-stat--split .mini-stat__segment--link:focus-visible {
  outline: 2px solid rgba(31, 65, 105, 0.3);
  outline-offset: 2px;
}
.mini-stat--split .mini-stat__segment--renewal .mini-stat__value {
  color: #d8901d;
}
.mini-stat--split .mini-stat__segment--expired .mini-stat__value {
  color: #f15b55;
}
.mini-stat--split .mini-stat__segment[data-mini-stat-tip]::before, .mini-stat--split .mini-stat__segment[data-mini-stat-tip]::after {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease, visibility 0.15s ease;
  z-index: 2;
}
.mini-stat--split .mini-stat__segment[data-mini-stat-tip]::before {
  content: "";
  top: calc(100% + 0.2rem);
  border: 5px solid transparent;
  border-bottom-color: #3a3a3a;
}
.mini-stat--split .mini-stat__segment[data-mini-stat-tip]::after {
  content: attr(data-mini-stat-tip);
  top: calc(100% + 0.55rem);
  padding: 0.35rem 0.65rem;
  background: #3a3a3a;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  border-radius: 6px;
}
.mini-stat--split .mini-stat__segment[data-mini-stat-tip]:hover::before, .mini-stat--split .mini-stat__segment[data-mini-stat-tip]:hover::after, .mini-stat--split .mini-stat__segment[data-mini-stat-tip]:focus-visible::before, .mini-stat--split .mini-stat__segment[data-mini-stat-tip]:focus-visible::after {
  opacity: 1;
  visibility: visible;
}

.sat-stars {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  flex-shrink: 0;
}
.sat-stars__slot {
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  color: #d1d5db;
}
.sat-stars__slot .sat-stars__icon {
  width: 100%;
  height: 100%;
  fill: currentColor;
}
.sat-stars__slot--filled {
  color: #f5b301;
}
.sat-stars__slot--half {
  position: relative;
  width: 1rem;
  height: 1rem;
}
.sat-stars__slot--half .sat-stars__icon {
  position: absolute;
  inset: 0;
}
.sat-stars__slot--half .sat-stars__icon:first-child {
  color: #f5b301;
  clip-path: inset(0 50% 0 0);
}
.sat-stars__slot--half .sat-stars__icon:last-child {
  color: #d1d5db;
}

.dashboard-card--satisfaction {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.dashboard-card--satisfaction:has(.filter-multi-select.is-open) {
  overflow: visible;
}
.dashboard-card--satisfaction .sat-ratings-widget {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.dashboard-card--satisfaction:has(.filter-multi-select.is-open) .sat-ratings-widget {
  overflow: visible;
}
.dashboard-card--satisfaction .sat-ratings-widget__head {
  position: relative;
  z-index: 1;
}
.dashboard-card--satisfaction .sat-ratings-widget__head:has(.filter-multi-select.is-open) {
  z-index: 50;
}
.dashboard-card--satisfaction .sat-ratings-widget__tools .filter-multi-select:not(.w-100) {
  width: 160px;
  min-width: 160px;
  max-width: 160px;
}
.dashboard-card--satisfaction .sat-ratings-widget__tools .filter-multi-select__panel {
  right: 0;
  left: auto;
  width: max(100%, 260px);
  max-width: min(320px, 100vw - 2.5rem);
}
.dashboard-card--satisfaction .sat-ratings-widget__tools .filter-multi-select__option-label {
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}
.dashboard-card--satisfaction .sat-ratings-widget__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}
@media (max-width: 1350px) {
  .dashboard-card--satisfaction {
    height: auto !important;
    max-height: 437px;
  }
  .dashboard-card--satisfaction .sat-ratings-widget__scroll {
    height: auto !important;
  }
}

.satisfaction-distribution-row {
  align-items: flex-start !important;
  flex-wrap: nowrap;
}
.satisfaction-distribution-row > [class*=col-] {
  display: flex;
  align-self: flex-start;
}
.satisfaction-distribution-row > [class*=col-] > .dashboard-card {
  width: 100%;
}
@media (max-width: 1350px) {
  .satisfaction-distribution-row {
    flex-direction: column !important;
    flex-wrap: wrap;
  }
  .satisfaction-distribution-row > [class*=col-] {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

.sat-ratings-widget {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1;
}
.sat-ratings-widget__head {
  flex-shrink: 0;
}
.sat-ratings-widget__tools {
  display: flex;
  align-items: center;
  gap: 7px;
}
.sat-ratings-widget__view-all {
  height: 36px;
  padding: 0 1.1rem;
  font-size: 0.8125rem;
  text-decoration: none;
}
.sat-ratings-widget__tabs {
  flex-shrink: 0;
}
.sat-ratings-widget__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-right: 0.25rem;
}
.sat-ratings-widget__scroll::-webkit-scrollbar {
  width: 5px;
}
.sat-ratings-widget__scroll::-webkit-scrollbar-thumb {
  background: rgba(31, 65, 105, 0.18);
  border-radius: 999px;
}
.sat-ratings-widget__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid #e4e9f0;
}
.sat-ratings-widget__row:last-child {
  border-bottom: none;
  padding-bottom: 0.25rem;
}
.sat-ratings-widget__row:first-child {
  padding-top: 0.25rem;
}
.sat-ratings-widget__label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #0b1f3f;
  min-width: 0;
}
.sat-ratings-widget__empty {
  font-size: 0.875rem;
  color: #7a8799;
  padding: 0.5rem 0;
}
.sat-ratings-widget__ticket-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  text-decoration: none;
  color: inherit;
}
.sat-ratings-widget__ticket-link:hover .sat-ratings-widget__ticket-name {
  color: #1F4169;
}
.sat-ratings-widget__ticket-body {
  min-width: 0;
  flex: 1;
}
.sat-ratings-widget__ticket-name {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  color: #1F4169;
  line-height: 1.35;
}
.sat-ratings-widget__ticket-desc {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.8125rem;
  font-weight: 400;
  color: #7a8799;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sat-ratings-widget__ticket-date {
  flex-shrink: 0;
  font-size: 0.75rem;
  font-weight: 400;
  color: #7a8799;
  white-space: nowrap;
  line-height: 1.4;
}

.satisfaction-ratings-page .satisfaction-ratings__body {
  min-height: 0;
}
.satisfaction-ratings-page .satisfaction-ratings__program-filter {
  flex-shrink: 0;
  position: relative;
  min-width: 160px;
}
.satisfaction-ratings-page .satisfaction-ratings__program-filter .filter-multi-select {
  display: block;
  width: 100%;
  min-width: 160px;
}
.satisfaction-ratings-page .satisfaction-ratings__program-filter .filter-multi-select__trigger {
  min-width: 160px;
}
.satisfaction-ratings-page .satisfaction-ratings__program-filter .filter-multi-select__panel {
  right: 0;
  left: auto;
  width: max(100%, 260px);
  max-width: min(320px, 100vw - 2.5rem);
}
.satisfaction-ratings-page .satisfaction-ratings__program-filter .filter-multi-select__option-label {
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}
.satisfaction-ratings-page .satisfaction-ratings__tabs {
  background: #eef1f6;
  border-radius: 999px;
  padding: 4px;
}
.satisfaction-ratings-page .satisfaction-ratings__search {
  position: relative;
  width: min(100%, 280px);
}
.satisfaction-ratings-page .satisfaction-ratings__search-icon {
  position: absolute;
  left: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  opacity: 0.55;
  pointer-events: none;
}
.satisfaction-ratings-page .satisfaction-ratings__search-input {
  height: 42px;
  padding-left: 2.35rem;
  border-radius: 999px;
  border: 1px solid #e4e9f0;
  font-size: 0.875rem;
  box-shadow: none;
}
.satisfaction-ratings-page .satisfaction-ratings__search-input:focus {
  border-color: rgba(31, 65, 105, 0.35);
  box-shadow: 0 0 0 0.15rem rgba(31, 65, 105, 0.08);
}

.sat-ratings-scroll {
  border: 1px solid #e4e9f0;
  border-radius: 20px;
  background: #ffffff;
  overflow: hidden;
}

.sat-accordion__item {
  border-bottom: 1px solid rgba(31, 65, 105, 0.08);
}
.sat-accordion__item:last-child {
  border-bottom: none;
}
.sat-accordion__item--open .sat-accordion__trigger {
  background: #e4eaf2;
}
.sat-accordion__item--open .sat-accordion__chevron:not(.sat-accordion__chevron--chapter) {
  transform: rotate(180deg);
}
.sat-accordion__item--open .sat-accordion__panel {
  grid-template-rows: 1fr;
}
.sat-accordion__trigger {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border: none;
  background: #eef2f7;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s ease;
}
.sat-accordion__trigger:hover {
  background: #e8edf3;
}
.sat-accordion__subject-label {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #1F4169;
}
.sat-accordion__chevron {
  font-size: 0.9rem;
  color: #7a8799;
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
.sat-accordion__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.32s cubic-bezier(0.4, 0, 0.2, 1);
  background: #ffffff;
}
.sat-accordion__panel-inner {
  min-height: 0;
  overflow: hidden;
}
.sat-accordion__chapters {
  border-top: 1px solid rgba(31, 65, 105, 0.08);
  padding: 0.35rem 1.25rem 0.75rem;
}
.sat-accordion__chapter {
  border-bottom: 1px solid rgba(228, 233, 240, 0.75);
  background: #ffffff;
}
.sat-accordion__chapter:last-child {
  border-bottom: none;
}
.sat-accordion__chapter--open .sat-accordion__chapter-trigger {
  background: #f5f8fb;
}
.sat-accordion__chapter--open .sat-accordion__chevron--chapter {
  transform: rotate(180deg);
}
.sat-accordion__chapter--open .sat-accordion__topics-panel {
  grid-template-rows: 1fr;
}
.sat-accordion__chapter-trigger {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 1rem;
  padding: 0.8rem 0.35rem 0.8rem 0;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s ease;
}
.sat-accordion__chapter-trigger:hover {
  background: #f8fafc;
}
.sat-accordion__chapter-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #0b1f3f;
  min-width: 0;
}
.sat-accordion__chevron--chapter {
  font-size: 0.8rem;
}
.sat-accordion__topics-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
.sat-accordion__topics-inner {
  min-height: 0;
  overflow: hidden;
}
.sat-accordion__topics {
  border-top: 1px dashed rgba(31, 65, 105, 0.1);
  padding: 0.2rem 0 0.55rem 0.85rem;
}
.sat-accordion__topic {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(228, 233, 240, 0.55);
}
.sat-accordion__topic:last-child {
  border-bottom: none;
  padding-bottom: 0.15rem;
}
.sat-accordion__topic-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #7a8799;
  min-width: 0;
}

@media (prefers-reduced-motion: reduce) {
  .sat-accordion__panel,
  .sat-accordion__topics-panel,
  .sat-accordion__chevron {
    transition: none;
  }
}
.sat-software-table-wrap {
  overflow-x: auto;
}
@media (max-width: 991.98px) {
  .sat-software-table-wrap {
    overflow-x: visible;
  }
}

.sat-software-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
}
.sat-software-table th,
.sat-software-table td {
  padding: 1rem 1.1rem;
  vertical-align: top;
  border-bottom: 1px solid #e4e9f0;
  font-size: 0.8125rem;
  color: #0b1f3f;
}
.sat-software-table th {
  font-size: 0.75rem;
  font-weight: 600;
  color: #7a8799;
  background: #f8fafc;
  white-space: nowrap;
}
.sat-software-table tbody tr:last-child td {
  border-bottom: none;
}
.sat-software-table__user {
  font-weight: 600;
  color: #1F4169;
  white-space: nowrap;
}
.sat-software-table__content {
  min-width: 220px;
  max-width: 320px;
  line-height: 1.5;
}
.sat-software-table__date {
  white-space: nowrap;
  color: #7a8799;
}
.sat-software-table__stars {
  white-space: nowrap;
}
.sat-software-table__empty {
  text-align: center;
  color: #7a8799;
  padding: 2rem 1rem !important;
}
@media (max-width: 991.98px) {
  .sat-software-table {
    min-width: 0;
    border-collapse: separate;
    border-spacing: 0;
  }
  .sat-software-table thead {
    display: none;
  }
  .sat-software-table tbody {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
  }
  .sat-software-table tbody tr.sat-software-table__card {
    display: block;
    border: 1px solid #e4e9f0;
    border-radius: 20px;
    padding: 0.35rem 1.15rem 0.65rem;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(31, 65, 105, 0.06);
  }
  .sat-software-table tbody tr.sat-software-table__empty-row {
    display: block;
    border: 1px dashed #e4e9f0;
    border-radius: 20px;
    background: #f8fafc;
  }
  .sat-software-table tbody td {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.7rem 0;
    border-bottom: 1px solid rgba(228, 233, 240, 0.75);
  }
  .sat-software-table tbody td::before {
    content: attr(data-label);
    font-size: 0.6875rem;
    font-weight: 600;
    color: #7a8799;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    flex-shrink: 0;
    max-width: 42%;
    line-height: 1.4;
  }
  .sat-software-table tbody td:last-child {
    border-bottom: none;
  }
  .sat-software-table tbody tr.sat-software-table__card:last-child td:last-child {
    border-bottom: none;
  }
  .sat-software-table .sat-software-table__user {
    display: block;
    font-size: 1rem;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid rgba(228, 233, 240, 0.85);
    white-space: normal;
  }
  .sat-software-table .sat-software-table__user::before {
    display: none;
  }
  .sat-software-table .sat-software-table__content {
    flex-direction: column;
    align-items: flex-start;
    max-width: none;
    min-width: 0;
  }
  .sat-software-table .sat-software-table__content::before {
    margin-bottom: 0.35rem;
    max-width: none;
  }
  .sat-software-table .sat-software-table__stars {
    align-items: center;
  }
  .sat-software-table .sat-software-table__empty {
    display: block !important;
    border-bottom: none !important;
  }
  .sat-software-table .sat-software-table__empty::before {
    display: none;
  }
}

@media (max-width: 991.98px) {
  .satisfaction-ratings-page .satisfaction-ratings__tabs {
    width: 100%;
  }
  .satisfaction-ratings-page .satisfaction-ratings__tabs .toggle-btn {
    flex: 1 1 0;
    text-align: center;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .satisfaction-ratings-page .satisfaction-ratings__toolbar {
    justify-content: stretch !important;
  }
  .satisfaction-ratings-page .satisfaction-ratings__search {
    width: 100%;
  }
  .satisfaction-ratings-page .sat-ratings-scroll--software {
    border: none;
    border-radius: 0;
    background: transparent;
    overflow: visible;
    padding: 0;
  }
  .satisfaction-ratings-page .sat-accordion__trigger {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 0.65rem;
    padding: 0.9rem 1rem;
  }
  .satisfaction-ratings-page .sat-accordion__chapter-trigger {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 0.65rem;
    padding: 0.75rem 0.15rem;
  }
  .satisfaction-ratings-page .sat-accordion__topic {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
  }
  .sat-ratings-widget__head {
    align-items: flex-start !important;
  }
  .sat-ratings-widget__tabs {
    width: 100%;
  }
  .sat-ratings-widget__tabs .toggle-btn {
    flex: 1 1 0;
    text-align: center;
  }
}
@media (max-width: 575.98px) {
  .satisfaction-ratings-page .page-header h1 {
    font-size: 1.25rem;
  }
  .satisfaction-ratings-page .sat-accordion__trigger {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "label chevron" "stars chevron";
  }
  .satisfaction-ratings-page .sat-accordion__subject-label {
    grid-area: label;
  }
  .satisfaction-ratings-page .sat-accordion__trigger .sat-stars {
    grid-area: stars;
    justify-self: start;
  }
  .satisfaction-ratings-page .sat-accordion__chevron {
    grid-area: chevron;
    align-self: center;
  }
}
.toggle-group {
  background: #eef1f6;
  border-radius: 999px;
  padding: 4px;
  gap: 2px;
}

.toggle-btn {
  border: none;
  background: transparent;
  padding: 0.45rem 0.9rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #7a8799;
  border-radius: 999px;
  cursor: pointer;
  white-space: nowrap;
}
.toggle-btn--active {
  background: #1F4169;
  color: #ffffff;
  font-weight: 600;
}

.rating-item {
  border-color: #e4e9f0 !important;
}
.rating-item__name {
  font-size: 0.875rem;
  color: #0b1f3f;
  font-weight: 500;
}

.rating-stars {
  font-size: 0.8rem;
  letter-spacing: 2px;
}

.dashboard-card--distribution {
  min-width: 0;
}
.dashboard-card--distribution .distribution {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: start;
  justify-content: stretch;
  gap: 1.5rem;
  width: 100%;
  min-width: 0;
}
.dashboard-card--distribution .distribution__chart-wrap {
  width: 200px;
  height: 200px;
  max-width: 200px;
  max-height: 200px;
  flex: 0 0 200px;
}
.dashboard-card--distribution .distribution__chart-wrap canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 200px !important;
  max-height: 200px !important;
}

.distribution__subtitle {
  font-size: 0.75rem;
  color: #7a8799;
  margin-bottom: 0;
}

.distribution__head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.distribution__filters {
  flex-shrink: 0;
  max-width: 100%;
  margin-left: auto;
  justify-content: flex-end;
}

.distribution__program-filter.filter-multi-select:not(.w-100),
.distribution__program-filter:not(.w-100) {
  width: 160px;
  min-width: 160px;
  max-width: 160px;
}

.expiring-accounts__period-tabs.notifications-tabs {
  flex-shrink: 0;
}
.expiring-accounts__period-tabs.notifications-tabs .notifications-tabs__btn {
  padding: 0.45rem 0.9rem;
  font-size: 0.8125rem;
}

.distribution__item {
  flex: 1 1 220px;
  min-width: 0;
  max-width: 100%;
}

.distribution__chart-title {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: #0b1f3f;
  text-align: center;
  line-height: 1.3;
}

.distribution__item .distribution__legend {
  width: auto;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.distribution__item .distribution__legend-item {
  justify-content: flex-start !important;
  text-align: left;
}

.distribution__chart-wrap {
  width: 200px;
  height: 200px;
}
.distribution__chart-wrap canvas {
  width: 100% !important;
  height: 100% !important;
}

.distribution__total {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F4169;
  line-height: 1.1;
}

.distribution__label {
  font-size: 0.6875rem;
  color: #7a8799;
}

.distribution__active {
  color: #22c55e;
  font-weight: 600;
}

.distribution__legend-item {
  font-size: 0.8125rem;
  color: #0b1f3f;
}

.legend-dot {
  width: 10px;
  height: 10px;
  flex-shrink: 0;
}

.usage-analytics-card__subtitle {
  font-size: 0.75rem;
  color: #7a8799;
  margin-bottom: 0;
}
.usage-analytics-card__body {
  min-height: 0;
}
.usage-analytics-card__body > [class*=col-] {
  display: flex;
}
.usage-analytics-card__map-col {
  min-height: 0;
}
.usage-analytics-card__legend-col {
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}
.usage-analytics-card__level-tabs {
  flex-shrink: 0;
}
.usage-analytics-card--platform {
  min-height: 0;
}

.usage-analytics-map {
  flex: 1 1 auto;
  width: 100%;
  min-height: 300px;
  height: 100%;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  overflow: hidden;
}
@media (min-width: 992px) {
  .usage-analytics-map {
    min-height: 360px;
  }
}
.usage-analytics-map__error {
  padding: 1.25rem;
  font-size: 0.875rem;
  color: #7a8799;
  text-align: center;
}
@media (max-width: 991.98px) {
  .usage-analytics-map {
    min-height: 280px;
    height: 320px;
    flex: none;
    border-radius: 16px;
  }
}

.usage-analytics-legend-wrap {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-height: 0;
  min-width: 0;
  overflow-x: hidden;
  padding: 0.25rem 0;
}
@media (min-width: 992px) {
  .usage-analytics-legend-wrap {
    padding-left: 0.5rem;
  }
}

.usage-analytics-legend {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.usage-analytics-legend__scroll {
  flex: 1;
  min-height: 0;
  min-width: 0;
  max-width: 100%;
  max-height: 280px;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 0.25rem;
}
.usage-analytics-legend__scroll::-webkit-scrollbar {
  width: 5px;
}
.usage-analytics-legend__scroll::-webkit-scrollbar-thumb {
  background: rgba(31, 65, 105, 0.18);
  border-radius: 999px;
}
.usage-analytics-legend__summary {
  flex-shrink: 0;
}
.usage-analytics-legend__total {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1F4169;
  line-height: 1.1;
}
.usage-analytics-legend__label {
  font-size: 0.6875rem;
  color: #7a8799;
}
.usage-analytics-legend__active {
  color: #22c55e;
  font-weight: 600;
}
.usage-analytics-legend__level-label {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #7a8799;
  list-style: none;
}
.usage-analytics-legend__row {
  list-style: none;
  min-width: 0;
  max-width: 100%;
}
.usage-analytics-legend__item {
  font-size: 0.8125rem;
  color: #0b1f3f;
  border-radius: 10px;
  padding: 0.2rem 0.35rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  transition: background-color 0.15s ease;
}
.usage-analytics-legend__item.is-highlighted {
  background: rgba(31, 65, 105, 0.06);
}
.usage-analytics-legend__item--drillable {
  cursor: pointer;
  border-radius: 10px;
  padding: 0.35rem 0.35rem;
  transition: background-color 0.15s ease, transform 0.15s ease;
}
.usage-analytics-legend__item--drillable:hover {
  background: rgba(31, 65, 105, 0.06);
}
.usage-analytics-legend__item--drillable:focus-visible {
  outline: 2px solid rgba(31, 65, 105, 0.25);
  outline-offset: 2px;
}
.usage-analytics-legend__meta {
  align-self: center;
}
.usage-analytics-legend__chevron {
  font-size: 0.75rem;
  color: #7a8799;
}
.usage-analytics-legend__name {
  font-weight: 500;
  line-height: 1.35;
  word-break: break-word;
}
.usage-analytics-legend__sublabel {
  font-size: 0.6875rem;
  color: #7a8799;
  line-height: 1.3;
  margin-top: 0.1rem;
}
.usage-analytics-legend__count {
  font-weight: 600;
  color: #f15b55;
  flex-shrink: 0;
}

.usage-location-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  font-size: 0.8125rem;
  color: #7a8799;
}
.usage-location-breadcrumb__link {
  padding: 0;
  border: 0;
  background: transparent;
  color: #1F4169;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
.usage-location-breadcrumb__link:hover {
  text-decoration: underline;
}
.usage-location-breadcrumb__current {
  color: #0b1f3f;
  font-weight: 600;
}
.usage-location-breadcrumb__sep {
  color: #b8c4d4;
  font-size: 0.875rem;
  line-height: 1;
}

.usage-analytics-platform {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-height: 0;
  flex: 1 1 auto;
}
.usage-analytics-platform__legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem 1rem;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  list-style: none;
}
.usage-analytics-platform__legend-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: #1F4169;
  margin: 0;
  white-space: nowrap;
}
.usage-analytics-platform__legend-item .legend-dot {
  width: 11px;
  height: 11px;
  box-shadow: 0 0 0 1px rgba(31, 65, 105, 0.08);
}
.usage-analytics-platform__chart-area {
  flex: 1 1 0;
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
.usage-analytics-platform__chart-area .distribution__chart-wrap {
  width: auto;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: 1;
}
@media (max-width: 991.98px) {
  .usage-analytics-platform__chart-area {
    min-height: 240px;
    height: 280px;
    flex: none;
  }
  .usage-analytics-platform__chart-area .distribution__chart-wrap {
    width: 200px;
    height: 200px;
  }
}

.usage-engagement__filters .notifications-tabs {
  flex-shrink: 0;
}
@media (max-width: 991.98px) {
  .usage-engagement__filters {
    width: 100%;
  }
  .usage-engagement__filters .notifications-tabs,
  .usage-engagement__filters .usage-engagement-range-wrap {
    width: 100%;
  }
  .usage-engagement__filters .notifications-tabs {
    flex-wrap: wrap;
  }
}
.usage-engagement__kpis .col-4 {
  display: flex;
}
.usage-engagement .section-block__content > [class*=col-] {
  display: flex;
}
.usage-engagement .section-block__content .inner-card--chart {
  width: 100%;
  min-height: 0;
}
.usage-engagement__duration-chart, .usage-engagement__timeofday-chart {
  flex: 1 1 0;
  min-height: 220px;
  height: auto;
}
.usage-engagement__timezone-filter {
  flex-shrink: 0;
}
.usage-engagement__timezone-tabs.notifications-tabs .notifications-tabs__btn {
  padding: 0.45rem 0.9rem;
  font-size: 0.8125rem;
}
.usage-engagement .inner-card__head .usage-engagement__timezone-filter {
  margin-left: auto;
}
@media (max-width: 991.98px) {
  .usage-engagement__duration-chart, .usage-engagement__timeofday-chart {
    flex: none;
    min-height: 260px;
    height: 280px;
  }
}

.usage-engagement-kpi {
  width: 100%;
  padding: 0.75rem 0.5rem;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px solid #eef2f6;
}
.usage-engagement-kpi__label {
  display: block;
  font-size: 0.6875rem;
  color: #7a8799;
  margin-bottom: 0.25rem;
}
.usage-engagement-kpi__value {
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F4169;
  line-height: 1.2;
}
.usage-engagement-kpi--overall {
  background: rgba(31, 65, 105, 0.04);
  border-color: rgba(31, 65, 105, 0.08);
}
.usage-engagement-kpi--overall .usage-engagement-kpi__value {
  color: #1F4169;
}

.usage-package-analytics__filter[hidden] {
  display: none !important;
}
.usage-package-analytics__filter[data-package-usage-filter-wrap=module] .filter-multi-select__list {
  max-height: min(320px, 50vh);
  overflow-y: auto;
}
.usage-package-analytics__filters {
  margin-left: auto;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.usage-package-analytics__filters .toggle-group--pills {
  flex-shrink: 0;
}
@media (max-width: 991.98px) {
  .usage-package-analytics .section-block__filters.usage-package-analytics__filters {
    width: 100%;
    margin-left: 0;
    justify-content: stretch;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: stretch;
    overflow-x: visible;
    padding-bottom: 0;
  }
  .usage-package-analytics .section-block__filters.usage-package-analytics__filters .usage-package-analytics__filter {
    width: 100%;
    flex: 1 1 100%;
    min-width: 0;
  }
  .usage-package-analytics .section-block__filters.usage-package-analytics__filters .filter-select,
  .usage-package-analytics .section-block__filters.usage-package-analytics__filters .filter-multi-select.filter-select--pill,
  .usage-package-analytics .section-block__filters.usage-package-analytics__filters .toggle-group--pills,
  .usage-package-analytics .section-block__filters.usage-package-analytics__filters .usage-package-analytics-range-wrap,
  .usage-package-analytics .section-block__filters.usage-package-analytics__filters .btn-export {
    width: 100%;
  }
  .usage-package-analytics .section-block__filters.usage-package-analytics__filters .filter-multi-select.filter-select--pill {
    flex: 1 1 100%;
    min-width: 0;
    max-width: none;
    display: flex;
  }
  .usage-package-analytics .section-block__filters.usage-package-analytics__filters .toggle-group--pills {
    flex-wrap: wrap;
  }
}
.usage-package-analytics__kpis .col-4 {
  display: flex;
}
.usage-package-analytics .section-block__content > [class*=col-] {
  display: flex;
}
.usage-package-analytics .section-block__content .inner-card--chart {
  width: 100%;
  min-height: 0;
  height: auto;
  overflow: visible;
}
.usage-package-analytics__trend-chart {
  flex: 1 1 auto;
  min-height: 0;
  height: auto !important;
  max-height: none !important;
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: visible;
}
.usage-package-analytics__trend-chart.chart-wrap, .usage-package-analytics__trend-chart.chart-wrap--bar {
  min-height: 0;
  height: auto !important;
  max-height: none !important;
}
.usage-package-analytics__trend-chart canvas {
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  max-height: none;
}
.usage-package-analytics__trend-plot {
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  overflow: visible;
}
.usage-package-analytics__trend-chart-scroll {
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.15rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(31, 65, 105, 0.22) rgba(31, 65, 105, 0.06);
}
.usage-package-analytics__trend-chart-scroll::-webkit-scrollbar {
  height: 8px;
}
.usage-package-analytics__trend-chart-scroll::-webkit-scrollbar-thumb {
  background: rgba(31, 65, 105, 0.22);
  border-radius: 999px;
}
.usage-package-analytics__trend-chart-scroll::-webkit-scrollbar-track {
  background: rgba(31, 65, 105, 0.06);
  border-radius: 999px;
}
.usage-package-analytics__trend-chart-inner {
  position: relative;
  height: auto;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.usage-package-analytics__trend-canvas-wrap {
  position: relative;
  width: 100%;
  height: 280px;
  flex: 0 0 auto;
}
.usage-package-analytics__trend-x-axis {
  position: relative;
  display: block;
  box-sizing: border-box;
  flex: 0 0 auto;
  width: 100%;
  height: 36px;
  margin: 0;
  padding: 0;
  border-top: 1px solid #cbd5e1;
  background: #ffffff;
  z-index: 2;
}
.usage-package-analytics__trend-x-axis-label {
  position: absolute;
  top: 8px;
  transform: translateX(-50%);
  display: inline-block;
  box-sizing: border-box;
  max-width: 110px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #1F4169;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.usage-package-analytics__trend-x-axis-label.is-pending {
  position: static;
  transform: none;
  margin-right: 1rem;
}
.usage-package-analytics__trend-legend {
  flex: 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 0.45rem 0.9rem;
  width: 100%;
  max-height: 140px;
  overflow-x: hidden;
  overflow-y: auto;
  margin-top: 0.75rem;
  padding: 0.75rem 0.25rem 0.35rem;
  border-top: 1px solid rgba(228, 233, 240, 0.85);
  background: #ffffff;
  position: relative;
  z-index: 1;
  -webkit-overflow-scrolling: touch;
}
.usage-package-analytics__trend-legend[hidden] {
  display: none !important;
  margin-top: 0;
  padding: 0;
  border: 0;
}
.usage-package-analytics__trend-legend::-webkit-scrollbar {
  width: 5px;
}
.usage-package-analytics__trend-legend::-webkit-scrollbar-thumb {
  background: rgba(31, 65, 105, 0.18);
  border-radius: 999px;
}
.usage-package-analytics__trend-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.6875rem;
  line-height: 1.2;
  color: #7a8799;
  white-space: nowrap;
}
.usage-package-analytics__trend-legend-swatch {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  flex-shrink: 0;
}
.usage-package-analytics__share {
  min-height: 0;
}
@media (max-width: 991.98px) {
  .usage-package-analytics__trend-chart {
    flex: none;
    min-height: 0;
    height: auto !important;
  }
  .usage-package-analytics__trend-legend {
    max-height: 120px;
  }
}

.usage-registration__filter[hidden],
.usage-revenue__filter[hidden] {
  display: none !important;
}
.usage-registration__filter[data-registration-filter-wrap=module] .filter-multi-select__list, .usage-registration__filter[data-revenue-filter-wrap=module] .filter-multi-select__list,
.usage-revenue__filter[data-registration-filter-wrap=module] .filter-multi-select__list,
.usage-revenue__filter[data-revenue-filter-wrap=module] .filter-multi-select__list {
  max-height: min(320px, 50vh);
  overflow-y: auto;
}
.usage-registration__chart,
.usage-revenue__chart {
  height: auto !important;
  max-height: none !important;
  display: flex;
  flex-direction: column;
  overflow: visible;
}
.usage-registration__chart.chart-wrap, .usage-registration__chart.chart-wrap--bar,
.usage-revenue__chart.chart-wrap,
.usage-revenue__chart.chart-wrap--bar {
  height: auto !important;
  max-height: none !important;
  min-height: 0;
}
.usage-registration__chart canvas,
.usage-revenue__chart canvas {
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  max-height: none;
}
.usage-registration__plot,
.usage-revenue__plot {
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
}
.usage-registration__chart-scroll,
.usage-revenue__chart-scroll {
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.15rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(31, 65, 105, 0.22) rgba(31, 65, 105, 0.06);
}
.usage-registration__chart-scroll::-webkit-scrollbar,
.usage-revenue__chart-scroll::-webkit-scrollbar {
  height: 8px;
}
.usage-registration__chart-scroll::-webkit-scrollbar-thumb,
.usage-revenue__chart-scroll::-webkit-scrollbar-thumb {
  background: rgba(31, 65, 105, 0.22);
  border-radius: 999px;
}
.usage-registration__chart-scroll::-webkit-scrollbar-track,
.usage-revenue__chart-scroll::-webkit-scrollbar-track {
  background: rgba(31, 65, 105, 0.06);
  border-radius: 999px;
}
.usage-registration__chart-inner,
.usage-revenue__chart-inner {
  position: relative;
  height: auto;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.usage-registration__canvas-wrap,
.usage-revenue__canvas-wrap {
  position: relative;
  width: 100%;
  height: 280px;
  flex: 0 0 auto;
}
.usage-registration__x-axis,
.usage-revenue__x-axis {
  position: relative;
  display: block;
  box-sizing: border-box;
  flex: 0 0 auto;
  width: 100%;
  height: 36px;
  margin: 0;
  padding: 0;
  border-top: 1px solid #cbd5e1;
  background: #ffffff;
  z-index: 2;
}
.usage-registration__x-axis-label,
.usage-revenue__x-axis-label {
  position: absolute;
  top: 8px;
  transform: translateX(-50%);
  display: inline-block;
  box-sizing: border-box;
  max-width: 110px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #1F4169;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.usage-registration__x-axis-label.is-pending,
.usage-revenue__x-axis-label.is-pending {
  position: static;
  transform: none;
  margin-right: 1rem;
}
.usage-registration__legend,
.usage-revenue__legend {
  flex: 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 0.45rem 0.9rem;
  width: 100%;
  max-height: 140px;
  overflow-x: hidden;
  overflow-y: auto;
  margin-top: 0.75rem;
  padding: 0.75rem 0.25rem 0.35rem;
  border-top: 1px solid rgba(228, 233, 240, 0.85);
  background: #ffffff;
}
.usage-registration__legend[hidden],
.usage-revenue__legend[hidden] {
  display: none !important;
  margin-top: 0;
  padding: 0;
  border: 0;
}
.usage-registration__legend::-webkit-scrollbar,
.usage-revenue__legend::-webkit-scrollbar {
  width: 5px;
}
.usage-registration__legend::-webkit-scrollbar-thumb,
.usage-revenue__legend::-webkit-scrollbar-thumb {
  background: rgba(31, 65, 105, 0.18);
  border-radius: 999px;
}
.usage-registration__legend-item,
.usage-revenue__legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.6875rem;
  line-height: 1.2;
  color: #7a8799;
  white-space: nowrap;
}
.usage-registration__legend-swatch,
.usage-revenue__legend-swatch {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  flex-shrink: 0;
}
@media (max-width: 991.98px) {
  .usage-registration .section-block__filters.usage-registration__filters,
  .usage-registration .section-block__filters.usage-revenue__filters,
  .usage-revenue .section-block__filters.usage-registration__filters,
  .usage-revenue .section-block__filters.usage-revenue__filters {
    width: 100%;
    margin-left: 0;
    justify-content: stretch;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: stretch;
    overflow-x: visible;
    padding-bottom: 0;
  }
  .usage-registration .section-block__filters.usage-registration__filters .usage-registration__filter,
  .usage-registration .section-block__filters.usage-registration__filters .usage-revenue__filter,
  .usage-registration .section-block__filters.usage-revenue__filters .usage-registration__filter,
  .usage-registration .section-block__filters.usage-revenue__filters .usage-revenue__filter,
  .usage-revenue .section-block__filters.usage-registration__filters .usage-registration__filter,
  .usage-revenue .section-block__filters.usage-registration__filters .usage-revenue__filter,
  .usage-revenue .section-block__filters.usage-revenue__filters .usage-registration__filter,
  .usage-revenue .section-block__filters.usage-revenue__filters .usage-revenue__filter {
    flex: 1 1 calc(50% - 0.25rem);
    width: calc(50% - 0.25rem);
    min-width: 0;
    max-width: calc(50% - 0.25rem);
  }
  .usage-registration .section-block__filters.usage-registration__filters .usage-registration__filter[data-registration-filter-wrap=externalFto],
  .usage-registration .section-block__filters.usage-revenue__filters .usage-registration__filter[data-registration-filter-wrap=externalFto],
  .usage-revenue .section-block__filters.usage-registration__filters .usage-registration__filter[data-registration-filter-wrap=externalFto],
  .usage-revenue .section-block__filters.usage-revenue__filters .usage-registration__filter[data-registration-filter-wrap=externalFto] {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
  }
  .usage-registration .section-block__filters.usage-registration__filters .filter-select,
  .usage-registration .section-block__filters.usage-registration__filters .filter-multi-select.filter-select--pill,
  .usage-registration .section-block__filters.usage-revenue__filters .filter-select,
  .usage-registration .section-block__filters.usage-revenue__filters .filter-multi-select.filter-select--pill,
  .usage-revenue .section-block__filters.usage-registration__filters .filter-select,
  .usage-revenue .section-block__filters.usage-registration__filters .filter-multi-select.filter-select--pill,
  .usage-revenue .section-block__filters.usage-revenue__filters .filter-select,
  .usage-revenue .section-block__filters.usage-revenue__filters .filter-multi-select.filter-select--pill {
    width: 100%;
    flex: 1 1 100%;
    min-width: 0;
    max-width: none;
    display: flex;
  }
  .usage-registration .section-block__filters.usage-registration__filters .btn-export,
  .usage-registration .section-block__filters.usage-revenue__filters .btn-export,
  .usage-revenue .section-block__filters.usage-registration__filters .btn-export,
  .usage-revenue .section-block__filters.usage-revenue__filters .btn-export {
    flex: 1 1 100%;
    width: 100%;
  }
}

.section-block--panel {
  background: #ffffff;
  border: none;
  border-radius: 40px;
  padding: 1.5rem 1.5rem 1.35rem;
  box-shadow: 0 0 21.4px rgba(0, 0, 0, 0.08);
}
.section-block--panel-fto {
  border-radius: 50px;
  padding: 1.5rem 1.5rem 1.35rem;
}
.section-block__title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F4169;
}
.section-block__subtitle {
  font-size: 0.8125rem;
  color: #7a8799;
  max-width: 28rem;
}
@media (max-width: 991.98px) {
  .section-block__header {
    flex-direction: column;
    align-items: stretch !important;
  }
}
.section-block__filters {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  max-width: 100%;
}
.section-block__filters .form-select.filter-select {
  width: auto;
}
@media (max-width: 991.98px) {
  .section-block__filters {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding-bottom: 0.15rem;
  }
}
@media (max-width: 575.98px) {
  .section-block__filters {
    flex-wrap: wrap;
    overflow-x: visible;
  }
  .section-block__filters .filter-select--pill,
  .section-block__filters .filter-multi-select.filter-select--pill {
    flex: 1 1 calc(50% - 0.25rem);
    min-width: 0;
    max-width: none;
    width: 100%;
  }
  .section-block__filters .btn-export--pill {
    flex: 1 1 100%;
    width: 100%;
  }
}

.filter-select {
  width: auto;
  min-width: 128px;
  max-width: 100%;
  flex: 0 0 auto;
  height: 40px;
  border-radius: 10px;
  font-size: 0.8125rem;
  border-color: #e4e9f0;
  background: #ffffff;
  color: #7a8799;
  padding-right: 2rem;
  box-shadow: none;
}
.filter-select--pill {
  border-radius: 999px;
  min-width: 120px;
  font-weight: 500;
}
@media (min-width: 1200px) {
  .filter-select--pill {
    min-width: 132px;
  }
}

.section-block__filters .btn-export {
  flex: 0 0 auto;
}

.registration-range-wrap,
.revenue-range-wrap,
.dash-date-range-wrap {
  position: relative;
}

.toggle-btn--date-range {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  width: fit-content;
  max-width: min(100%, 320px);
  white-space: nowrap;
}
.toggle-btn--date-range span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.daterangepicker {
  font-family: inherit;
  border: 1px solid #e4e9f0;
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.14);
  z-index: 1060;
}
.daterangepicker:before, .daterangepicker:after {
  display: none;
}
.daterangepicker .calendar-table {
  border-color: transparent;
}
.daterangepicker td.active,
.daterangepicker td.active:hover,
.daterangepicker td.in-range,
.daterangepicker .ranges li.active {
  background-color: #1F4169;
  border-color: transparent;
  color: #fff;
}
.daterangepicker td.in-range {
  background-color: rgba(31, 65, 105, 0.12);
  color: #1F4169;
}
.daterangepicker td.active.in-range,
.daterangepicker td.active.in-range:hover {
  background-color: #1F4169;
  color: #fff;
}
.daterangepicker .ranges li:hover {
  background-color: rgba(31, 65, 105, 0.08);
  color: #1F4169;
}
.daterangepicker .drp-buttons {
  border-top-color: #e4e9f0;
}
.daterangepicker .drp-buttons .btn {
  font-size: 0.8125rem;
  font-weight: 600;
  border-radius: 999px;
  padding: 0.4rem 1rem;
}
.daterangepicker .drp-buttons .cancelBtn {
  color: #7a8799;
  background: #f4f7fb;
  border: 1px solid #e4e9f0;
}
.daterangepicker .drp-buttons .applyBtn {
  background: #1F4169;
  border-color: #1F4169;
  color: #fff;
}

.dash-date-range-popover {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  z-index: 35;
  width: min(300px, 92vw);
  padding: 2rem 1rem 0.85rem;
  background: #ffffff;
  border: 1px solid #e4e9f0;
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.14);
  box-sizing: border-box;
  overflow: hidden;
}
.dash-date-range-popover__close {
  position: absolute;
  top: 0.55rem;
  right: 0.55rem;
  width: 28px;
  height: 28px;
  border: none;
  background: transparent;
  color: #7a8799;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 50%;
}
.dash-date-range-popover__close:hover {
  background: #f1f5f9;
  color: #1F4169;
}
.dash-date-range-popover__fields {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}
.dash-date-range-popover__field {
  min-width: 0;
}
.dash-date-range-popover__field label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: #7a8799;
  margin-bottom: 0.35rem;
}
.dash-date-range-popover__input {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 40px;
  border: 1px solid #e4e9f0;
  border-radius: 10px;
  padding: 0 0.65rem;
  font-size: 0.8125rem;
  box-shadow: none;
  color: #1F4169;
  background: #ffffff;
  box-sizing: border-box;
}
.dash-date-range-popover__input[type=date] {
  min-width: 0;
  color-scheme: light;
}
.dash-date-range-popover__input:focus {
  border-color: rgba(31, 65, 105, 0.35);
  outline: none;
  box-shadow: 0 0 0 0.15rem rgba(31, 65, 105, 0.08);
}
.dash-date-range-popover__ok {
  display: block;
  margin: 0 auto;
  border: none;
  background: transparent;
  color: #2563eb;
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
}
.dash-date-range-popover__ok:hover {
  text-decoration: underline;
}

.dash-month-picker-popover {
  width: min(280px, 92vw);
  padding: 2rem 0.75rem 0.75rem;
}

.dash-month-picker__header {
  margin-bottom: 0.65rem;
  padding-right: 1.5rem;
}
.dash-month-picker__header-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F4169;
}
.dash-month-picker__year-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  margin-bottom: 0.5rem;
  padding: 0.45rem 0.35rem;
  border-radius: 10px;
  background: #f3f4f6;
}
.dash-month-picker__year-btn {
  width: 28px;
  height: 28px;
  border: none;
  background: transparent;
  color: #7a8799;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.dash-month-picker__year-btn:hover:not(:disabled) {
  background: rgba(31, 65, 105, 0.08);
  color: #1F4169;
}
.dash-month-picker__year-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.dash-month-picker__year-current {
  font-size: 0.875rem;
  font-weight: 700;
  color: #1F4169;
}
.dash-month-picker__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.35rem;
  margin-bottom: 0.55rem;
}
.dash-month-picker__month {
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #1F4169;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.45rem 0.2rem;
  cursor: pointer;
}
.dash-month-picker__month:hover:not(:disabled) {
  background: #f8fafc;
  border-color: rgba(31, 65, 105, 0.12);
}
.dash-month-picker__month.is-selected {
  border-color: #1F4169;
  background: rgba(31, 65, 105, 0.04);
  font-weight: 700;
}
.dash-month-picker__month.is-disabled, .dash-month-picker__month:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.dash-month-picker__years {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  max-height: 120px;
  overflow-y: auto;
  padding: 0.35rem;
  border-radius: 10px;
  background: #f3f4f6;
}
.dash-month-picker__years::-webkit-scrollbar {
  width: 5px;
}
.dash-month-picker__years::-webkit-scrollbar-thumb {
  background: rgba(31, 65, 105, 0.18);
  border-radius: 999px;
}
.dash-month-picker__year-option {
  border: none;
  background: transparent;
  text-align: center;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #1F4169;
  padding: 0.4rem 0.5rem;
  border-radius: 8px;
  cursor: pointer;
}
.dash-month-picker__year-option:hover {
  background: rgba(31, 65, 105, 0.06);
}
.dash-month-picker__year-option.is-active {
  background: #ffffff;
  font-weight: 700;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

@media (max-width: 575.98px) {
  .inner-card__head--registration-chart,
  .inner-card__head--revenue-chart,
  .dashboard-card__head {
    flex-direction: column;
    align-items: stretch !important;
  }
  .distribution__filters {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .distribution__program-filter.filter-multi-select,
  .distribution__program-filter {
    width: 100%;
    flex: 1 1 100%;
    min-width: 0;
    max-width: none;
    display: flex;
  }
  .registration-range-wrap,
  .revenue-range-wrap,
  .dash-date-range-wrap {
    width: 100%;
  }
  .registration-range-wrap .toggle-btn--date-range,
  .revenue-range-wrap .toggle-btn--date-range,
  .dash-date-range-wrap .toggle-btn--date-range {
    width: 100%;
    justify-content: center;
    max-width: none;
    font-size: 0.75rem;
  }
  .dash-date-range-popover {
    left: 0;
    right: auto;
    width: 100%;
  }
}
.btn-export {
  height: 40px;
  padding: 0 1.25rem;
  font-size: 0.8125rem;
  font-weight: 600;
  border-radius: 10px;
  border: none;
  color: #ffffff;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  line-height: 1.2;
  box-sizing: border-box;
}
.btn-export--pill {
  border-radius: 999px;
  padding: 0 1.5rem;
}
.btn-export--lg {
  height: 40px;
  min-height: 40px;
  padding: 0 1.25rem;
  font-size: 0.8125rem;
}
.btn-export--lg.btn-export--pill {
  padding: 0 1.25rem;
}
.btn-export--navy {
  background: #1F4169;
}
.btn-export--navy:hover {
  background: rgb(9.4215686275%, 19.7549019608%, 31.9117647059%);
  color: #ffffff;
}
.btn-export--red {
  background: #e84545;
}
.btn-export--red:hover {
  background: #d63a3a;
  color: #ffffff;
}

.toggle-group--pills {
  background: transparent;
  padding: 0;
  gap: 0.5rem;
}
.toggle-group--pills .toggle-btn {
  border: 1px solid #e4e9f0;
  background: #ffffff;
  padding: 0.4rem 0.85rem;
}
.toggle-group--pills .toggle-btn--active {
  background: #1F4169;
  border-color: #1F4169;
  color: #ffffff;
}

.inner-card {
  background: #ffffff;
  border: 1px solid #e4e9f0;
  border-radius: 20px;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 2px 10px rgba(11, 31, 63, 0.04);
}
.inner-card--nested {
  border: 1px solid rgba(228, 233, 240, 0.85);
  border-radius: 24px;
  box-shadow: none;
}
.inner-card--chart {
  min-height: 360px;
}
.inner-card--insights-blue {
  background: #eef4fb;
  border-color: #e2ebf6;
}
.inner-card--insights-red {
  background: #fffafa;
  border-color: #f0e6e6;
}
.inner-card__title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #1F4169;
}
.inner-card__head {
  border-bottom: none;
}

.chart-wrap {
  position: relative;
  width: 100%;
  min-height: 260px;
  height: 300px;
}
.chart-wrap--bar {
  min-height: 280px;
  height: 320px;
}
.chart-wrap--line {
  min-height: 260px;
  height: 300px;
}
.chart-wrap canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-height: 100%;
}

.insight-items__row {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.75rem 0;
}
.insight-items__row:first-child {
  padding-top: 0.25rem;
}
.insight-items__row:not(:last-child) {
  border-bottom: 1px solid rgba(228, 233, 240, 0.55);
}
.insight-items__row--highlight {
  margin-top: 0.15rem;
  padding: 0.85rem 0.85rem;
  border-radius: 12px;
  background: rgba(31, 65, 105, 0.06);
  border: 1px solid rgba(31, 65, 105, 0.12);
  border-bottom: 1px solid rgba(31, 65, 105, 0.12);
}
.insight-items__row--highlight .insight-items__label {
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #1F4169;
}
.insight-items__row--highlight .insight-items__value {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F4169;
}
.insight-items__row--highlight .insight-dot {
  width: 10px;
  height: 10px;
  margin-top: 0.2rem;
}
.insight-items__text {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}
.insight-items__label {
  font-size: 0.6875rem;
  color: #7a8799;
  line-height: 1.3;
}
.insight-items__value {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1F4169;
  line-height: 1.3;
}
.insight-items__growth {
  color: #e84545;
  font-size: 1.1rem;
  vertical-align: middle;
  font-weight: 700;
}

.insight-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 0.35rem;
}
.insight-dot--blue {
  background: #3b82f6;
}
.insight-dot--sky {
  background: #7ec8f0;
}
.insight-dot--red {
  background: #f15b55;
}
.insight-dot--slate {
  background: #64748b;
}

.info-box {
  padding: 0.875rem 1rem;
  border-radius: 10px;
  font-size: 0.75rem;
  line-height: 1.5;
}
.info-box--pill {
  border-radius: 999px;
  text-align: center;
}
.info-box--rounded {
  border-radius: 16px;
  text-align: center;
  padding: 1rem 1.15rem;
  font-size: 0.6875rem;
  line-height: 1.45;
}
.info-box--navy {
  background: #1F4169;
  color: #ffffff;
}
.info-box--red {
  background: #e84545;
  color: #ffffff;
}
.info-box--revenue-note {
  background: #F15B55;
  border: 1px solid #e5e7eb;
  border-radius: 35px;
  text-align: center;
  padding: 1rem 1.15rem;
  font-size: 0.6875rem;
  line-height: 1.45;
  color: #ffffff;
  font-weight: 500;
}

.view-link {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #7a8799;
  text-decoration: none;
}
.view-link:hover {
  color: #1F4169;
  text-decoration: underline;
}
.view-link--underline {
  color: #1F4169;
  text-decoration: underline;
}
.view-link--underline:hover {
  color: rgb(8.5098039216%, 17.8431372549%, 28.8235294118%);
}

.ticket-item {
  background: #f3f6fa;
  border: none;
  border-radius: 20px;
  padding: 1rem 1.15rem;
  margin-bottom: 0;
}
.ticket-item__body {
  flex: 1;
  min-width: 0;
}

.ticket-id {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: #f15b55;
  margin-bottom: 0.2rem;
}

.ticket-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F4169;
  line-height: 1.35;
}

.ticket-time {
  display: block;
  font-size: 0.75rem;
  color: #7a8799;
  margin-top: 0.2rem;
}

.btn-ticket {
  background: #1F4169;
  color: #ffffff;
  font-size: 0.8125rem;
  font-weight: 600;
  border: none;
  border-radius: 999px;
  padding: 0.5rem 1.15rem;
  white-space: nowrap;
}
.btn-ticket:hover {
  background: rgb(9.4215686275%, 19.7549019608%, 31.9117647059%);
  color: #ffffff;
}

.subscription-overview-card {
  background: #ffffff;
  border: none;
  border-radius: 40px;
  padding: 1.35rem 1.25rem 1.25rem;
  box-shadow: 0px 0px 21.4px rgba(0, 0, 0, 0.08);
}
.subscription-overview-card__title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1F4169;
}

.sub-stat {
  background: #EEF5FF;
  border: none;
  border-radius: 18px;
  padding: 0.9rem 0.5rem;
  min-height: 72px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 8px rgba(31, 65, 105, 0.06);
}
.sub-stat__label {
  font-size: 0.6875rem;
  font-weight: 500;
  display: block;
  line-height: 1.3;
  margin-bottom: 0.25rem;
}
.sub-stat__value {
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  color: #1F4169;
}
.sub-stat--active .sub-stat__label {
  color: #2c9f02;
}
.sub-stat--warning .sub-stat__label {
  color: #d8901d;
}
.sub-stat--danger .sub-stat__label {
  color: #f15b55;
}
.sub-stat--info .sub-stat__label {
  color: #5b9fd4;
}

.subscription-note {
  background: #1F4169;
  border: none;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 500;
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(31, 65, 105, 0.16);
}

@media (min-width: 992px) {
  .fto-list--no-subscription {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 0.75fr 1fr 0.9fr 0.7fr;
    column-gap: 0.75rem;
    padding-left: calc(1.15rem + 1px);
    padding-right: calc(1.15rem + 1px);
  }
  .fto-list--no-subscription .fto-list__body {
    display: contents;
  }
  .fto-list--no-subscription .fto-list__head {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: subgrid;
    gap: 0;
    padding: 0 0 0.85rem;
  }
  .fto-list--no-subscription .fto-row {
    grid-column: 1/-1;
    grid-template-columns: subgrid;
    column-gap: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .fto-list--no-subscription .fto-list__head span:first-child {
    text-align: left;
    padding-left: 10px;
  }
  .fto-list--no-subscription .fto-row__name {
    padding-left: 10px;
  }
  .fto-list--no-subscription .fto-list__head span:not(:first-child) {
    text-align: center;
  }
  .fto-list--no-subscription .fto-row__cell:not(.fto-row__name) {
    text-align: center;
  }
  .fto-list--no-subscription .fto-row__action {
    text-align: center;
  }
}
.fto-list__head {
  grid-template-columns: 2fr 1fr 1fr 1.1fr 1fr 0.8fr 0.7fr;
  gap: 0.75rem;
  padding: 0 0.5rem 0.85rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: #7a8799;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.fto-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(228, 233, 240, 0.85);
  border-radius: 22px;
  padding: 0.85rem 1.15rem;
  margin-bottom: 0.65rem;
  box-shadow: 0 2px 10px rgba(31, 65, 105, 0.05);
}
@media (min-width: 992px) {
  .fto-row {
    grid-template-columns: 2fr 1fr 1fr 1.1fr 1fr 0.8fr 0.7fr;
    gap: 0.75rem;
  }
}
.fto-row:last-child {
  margin-bottom: 0;
}
.fto-row__cell {
  font-size: 0.8125rem;
  color: #0b1f3f;
}
@media (max-width: 991.98px) {
  .fto-row__cell {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
  }
  .fto-row__cell::before {
    content: attr(data-label);
    font-weight: 600;
    color: #7a8799;
    font-size: 0.75rem;
    flex-shrink: 0;
  }
}
.fto-row__name {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media (max-width: 991.98px) {
  .fto-row__name::before {
    display: none;
  }
}
.fto-row__name-text {
  font-weight: 600;
  color: #1F4169;
  font-size: 0.875rem;
}
@media (max-width: 991.98px) {
  .fto-row__action {
    justify-content: flex-end;
  }
  .fto-row__action::before {
    display: none;
  }
}

@media (min-width: 992px) {
  .fto-list--no-subscription .fto-row {
    grid-column: 1/-1;
    grid-template-columns: subgrid;
    column-gap: 0;
    padding-left: 0;
    padding-right: 0;
  }
}
.fto-management-page {
  font-family: "Urbanist", system-ui, sans-serif;
}
.fto-management-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
}
.fto-management-page .fto-management {
  width: 100%;
  min-width: 0;
}

.fto-logo {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  flex-shrink: 0;
  overflow: hidden;
  background: #eef3fa;
  border: 1px solid rgba(228, 233, 240, 0.8);
}
.fto-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fto-badge {
  display: inline-block;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 600;
}

.badge-enterprise,
.fto-badge.badge-enterprise {
  background: rgba(245, 158, 11, 0.18);
  color: rgb(81.069631002%, 52.1636560136%, 3.3225258607%);
}

.badge-standard,
.fto-badge.badge-standard {
  background: rgba(252, 211, 77, 0.35);
  color: #b45309;
}

.badge-pro,
.fto-badge.badge-pro {
  background: rgba(253, 186, 116, 0.35);
  color: #c2410c;
}

.fto-status {
  display: inline-block;
  padding: 0.3rem 0.85rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 600;
  color: #22c55e;
  background: rgba(34, 197, 94, 0.12);
}
.fto-status--active {
  color: #22c55e;
  background: rgba(34, 197, 94, 0.12);
}
.fto-status--payment-due {
  color: #c2410c;
  background: rgba(251, 191, 36, 0.22);
}
.fto-status--canceled {
  color: #475569;
  background: rgba(148, 163, 184, 0.22);
}
.fto-status--blocked {
  color: #dc2626;
  background: rgba(239, 68, 68, 0.14);
}
.fto-status--verification {
  color: #2563eb;
  background: rgba(59, 130, 246, 0.14);
}

.btn-view {
  background: #1F4169;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 600;
  border: none;
  border-radius: 50px;
  padding: 0.45rem 1.1rem;
}
.btn-view:hover {
  background: rgb(9.4215686275%, 19.7549019608%, 31.9117647059%);
  color: #ffffff;
}

@media (max-width: 575.98px) {
  .dashboard-card--distribution .distribution,
  .distribution {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  .distribution__item {
    width: 100%;
    align-items: center;
  }
  .distribution__item .distribution__legend {
    width: auto;
    max-width: 100%;
  }
  .distribution__legend {
    width: 100%;
  }
}
@media (max-width: 575.98px) {
  .welcome-banner__title {
    font-size: 1.25rem;
  }
  .inner-card--chart {
    min-height: auto;
  }
  .section-block--panel {
    padding: 1.15rem 1rem;
    border-radius: 28px;
  }
  .toggle-group--pills {
    width: 100%;
  }
  .toggle-group--pills .toggle-btn {
    flex: 1 1 auto;
  }
  .chart-wrap {
    height: 260px;
    min-height: 240px;
  }
  .mini-stat {
    min-height: 76px;
    padding: 0.85rem 0.35rem;
  }
  .sc-btn {
    width: 100%;
  }
  .subject-chapters__actions {
    width: 100%;
  }
}
.subject-chapters-page {
  font-family: "Urbanist", system-ui, sans-serif;
}

.subject-chapters__title {
  font-size: 1.375rem;
  font-weight: 700;
  color: #1F4169;
  line-height: 1.2;
}

.subject-chapters__subtitle {
  font-size: 0.8125rem;
  color: #7a8799;
  max-width: 42rem;
}

.subject-chapters__top {
  position: relative;
  z-index: 1;
  overflow: visible;
}
.subject-chapters__top:has(.app-header__program-select-wrap.is-open) {
  z-index: 80;
}

.subject-chapters__actions {
  position: relative;
  overflow: visible;
}
.subject-chapters__actions:has(.app-header__program-select-wrap.is-open) {
  z-index: 80;
}

.subject-chapters-program-filter {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  position: relative;
  z-index: 1;
}
.subject-chapters-program-filter:has(.app-header__program-select-wrap.is-open) {
  z-index: 70;
}
.subject-chapters-program-filter__label {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1F4169;
}
.subject-chapters-program-filter__select {
  max-width: 100%;
  position: relative;
  overflow: visible;
}

.sc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  height: 42px;
  padding: 0 1.5rem;
  border: none;
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #ffffff;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.2s ease;
}
.sc-btn--navy {
  background: #1F4169;
}
.sc-btn--navy:hover {
  background: #081628;
}
.sc-btn--coral {
  background: #f15b55;
}
.sc-btn--coral:hover {
  background: #d63a3a;
}
.sc-btn--sky {
  background: #e8f2fc;
  color: #1F4169;
}
.sc-btn--sky:hover {
  background: #d6e8f9;
  color: #1F4169;
}
.sc-btn--draft {
  background: #d9d9d9;
  color: #0b1f3f;
}
.sc-btn--draft:hover {
  background: #cbcbcb;
  color: #0b1f3f;
}

.sc-stat {
  border-radius: 28px;
  width: 100%;
  min-height: 118px;
}
.sc-stat__body {
  padding: 1.1rem 1.2rem;
  min-height: 100%;
  width: 100%;
}
@media (min-width: 1200px) {
  .sc-stat__body {
    padding: 1.2rem 1.35rem;
  }
}
.sc-stat__content {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
.sc-stat--primary {
  background: #1F4169;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12), 0 4px 16px rgba(31, 65, 105, 0.35);
}
.sc-stat--primary .sc-stat__label,
.sc-stat--primary .sc-stat__value,
.sc-stat--primary .sc-stat__meta {
  color: #ffffff;
}
.sc-stat--primary .sc-stat__label {
  opacity: 0.92;
}
.sc-stat--primary .sc-stat__meta {
  opacity: 0.82;
}
.sc-stat--light {
  background: #e8edf4;
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow: 0 2px 12px rgba(31, 65, 105, 0.06);
}
.sc-stat__label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #7a8799;
  line-height: 1.3;
  margin-bottom: 0.35rem;
}
.sc-stat__icon {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.sc-stat__icon--on-dark {
  color: #f15b55;
}
.sc-stat__icon--navy {
  color: #1F4169;
}
.sc-stat__value {
  font-size: 1.625rem;
  font-weight: 700;
  color: #0b1f3f;
  line-height: 1.15;
  margin-bottom: 0.15rem;
}
.sc-stat__meta {
  font-size: 0.6875rem;
  color: #7a8799;
  margin-top: 0.15rem;
}
.sc-stat--light .sc-stat__label {
  color: #1F4169;
  font-weight: 600;
}

.subject-chapters .content.fto-adm-ui .sc-workspace-shell {
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
  margin-bottom: 0;
}

.sc-workspace-shell {
  background: #ffffff;
  box-shadow: 0 0 21.4px rgba(0, 0, 0, 0.08);
  border-radius: 50px;
  padding: 1.125rem 1.25rem;
  margin-bottom: 1rem;
}
@media (min-width: 576px) {
  .sc-workspace-shell {
    padding: 1.25rem 1.5rem;
  }
}
@media (min-width: 1200px) {
  .sc-workspace-shell {
    padding: 1.375rem 1.75rem;
  }
}

.sc-panel {
  box-shadow: 0px 0px 25.9px rgba(0, 0, 0, 0.1);
  border-radius: 35px;
  background: #ffffff;
  padding: 1.25rem 1.35rem;
}
.sc-panel__title {
  font-size: 1rem;
  font-weight: 600;
  color: #0b1f3f;
  margin-bottom: 1rem;
}
.sc-panel--hierarchy {
  display: flex;
  flex-direction: column;
  min-height: 520px;
}
.sc-panel--details {
  display: flex;
  flex-direction: column;
  min-height: 520px;
}

.sc-hierarchy-search {
  position: relative;
  margin-bottom: 1rem;
}
.sc-hierarchy-search__icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #7a8799;
  font-size: 0.95rem;
  pointer-events: none;
  z-index: 1;
}
.sc-hierarchy-search__input {
  padding-left: 2.5rem;
  height: 44px;
  border-radius: 14px;
  border-color: #e4e9f0;
  font-size: 0.8125rem;
  color: #0b1f3f;
}
.sc-hierarchy-search__input::placeholder {
  color: #7a8799;
}
.sc-hierarchy-search__input:focus {
  border-color: rgba(59, 113, 184, 0.55);
  box-shadow: 0 0 0 0.2rem rgba(59, 113, 184, 0.12);
}

.sc-tree {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  flex: 1 1 auto;
  min-height: 0;
  max-height: 420px;
  overflow-y: auto;
  padding-right: 0.25rem;
}
.sc-tree::-webkit-scrollbar {
  width: 5px;
}
.sc-tree::-webkit-scrollbar-thumb {
  background: rgba(31, 65, 105, 0.25);
  border-radius: 999px;
}
.sc-tree__branch {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-top: 0.4rem;
  padding-left: 0.65rem;
}
.sc-tree__drag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 22px;
  height: 28px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: grab;
  border-radius: 6px;
  opacity: 0.72;
  transition: opacity 0.2s ease, background 0.2s ease;
}
.sc-tree__drag:hover {
  opacity: 1;
}
.sc-tree__drag:active {
  cursor: grabbing;
}
.sc-tree__drag-icon {
  display: block;
  width: 12px;
  height: 18px;
  object-fit: contain;
  pointer-events: none;
}
.sc-tree__row--l1 .sc-tree__drag {
  opacity: 0.9;
}
.sc-tree__row--l1 .sc-tree__drag:hover {
  background: rgba(255, 255, 255, 0.12);
}
.sc-tree__row--l1 .sc-tree__drag-icon {
  filter: brightness(0) invert(1);
}
.sc-tree__row--l2 .sc-tree__drag:hover, .sc-tree__row--l3 .sc-tree__drag:hover, .sc-tree__row--l4 .sc-tree__drag:hover {
  background: rgba(31, 65, 105, 0.06);
}
.sc-tree__item--sortable-ghost {
  opacity: 0.45;
}
.sc-tree__item--sortable-ghost > .sc-tree__row {
  outline: 1px dashed rgba(31, 65, 105, 0.35);
  outline-offset: 2px;
}
.sc-tree__item--sortable-chosen > .sc-tree__row {
  box-shadow: 0 4px 14px rgba(31, 65, 105, 0.12);
}
.sc-tree__item--sortable-drag > .sc-tree__row {
  box-shadow: 0 8px 22px rgba(31, 65, 105, 0.16);
}
.sc-tree__row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 44px;
  padding: 0.5rem 0.85rem;
  border: none;
  border-radius: 14px;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}
.sc-tree__row--l1 {
  background: #3b71b8;
}
.sc-tree__row--l2 {
  background: #e8f2fc;
}
.sc-tree__row--l3 {
  background: #eef1f6;
}
.sc-tree__row--l4 {
  background: #e4e9f0;
  margin-left: 0.5rem;
}
.sc-tree__toggle {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 6px;
  transition: background 0.2s ease;
}
.sc-tree__toggle i {
  font-size: 0.85rem;
  transition: transform 0.2s ease;
}
.sc-tree__toggle--leaf {
  pointer-events: none;
  visibility: hidden;
}
.sc-tree__item--open > .sc-tree__row .sc-tree__toggle i {
  transform: rotate(0deg);
}
.sc-tree__item:not(.sc-tree__item--open) > .sc-tree__row .sc-tree__toggle i {
  transform: rotate(-90deg);
}
.sc-tree__row--l1 .sc-tree__toggle {
  color: #ffffff;
}
.sc-tree__row--l1 .sc-tree__toggle:hover {
  background: rgba(255, 255, 255, 0.12);
}
.sc-tree__row--l2 .sc-tree__toggle, .sc-tree__row--l3 .sc-tree__toggle, .sc-tree__row--l4 .sc-tree__toggle {
  color: #7a8799;
}
.sc-tree__row--l2 .sc-tree__toggle:hover, .sc-tree__row--l3 .sc-tree__toggle:hover, .sc-tree__row--l4 .sc-tree__toggle:hover {
  background: rgba(31, 65, 105, 0.06);
}
.sc-tree__label {
  flex: 1;
  min-width: 0;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  line-height: 1.35;
}
.sc-tree__row--l1 .sc-tree__label {
  color: #ffffff;
}
.sc-tree__row--l2 .sc-tree__label, .sc-tree__row--l3 .sc-tree__label, .sc-tree__row--l4 .sc-tree__label {
  color: #0b1f3f;
  font-weight: 500;
}
.sc-tree__row--section-heading .sc-tree__label {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #000;
  letter-spacing: 0.02em;
  text-align: left;
  cursor: inherit;
}
.sc-tree__label--section-heading {
  padding: 0;
  text-transform: none;
  flex: 1;
  min-width: 0;
}
.sc-tree__label--active, .sc-tree__label[data-sc-topic-select].sc-tree__label--active {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sc-tree__row--l1:has(.sc-tree__label--active) {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
}
.sc-tree__row--section-heading {
  background: transparent;
  min-height: auto;
  padding: 0.85rem 0.85rem 0.4rem;
  border-radius: 0;
  box-shadow: none;
  justify-content: flex-start;
  cursor: grab;
  user-select: none;
}
.sc-tree__row--section-heading:active {
  cursor: grabbing;
}
.sc-tree__item[data-sc-tree-type=section-heading].sc-tree__item--sortable-chosen > .sc-tree__row--section-heading, .sc-tree__item[data-sc-tree-type=section-heading].sc-tree__item--sortable-drag > .sc-tree__row--section-heading {
  cursor: grabbing;
}
.sc-tree__row--section-heading:has(.sc-tree__label--active) {
  box-shadow: none;
  background: transparent;
}
.sc-tree__row--section-heading:has(.sc-tree__label--active) .sc-tree__label {
  color: #000;
}
.sc-tree__section-heading-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: #7a8799;
  opacity: 0.72;
  cursor: pointer;
  transition: opacity 0.2s ease, background 0.2s ease;
}
.sc-tree__section-heading-btn:hover {
  opacity: 1;
  color: #7a8799;
  background: rgba(31, 65, 105, 0.06);
}
.sc-tree__section-heading-btn i {
  font-size: 0.95rem;
  line-height: 1;
  color: inherit;
}
.sc-tree__row-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.1rem;
  flex-shrink: 0;
}
.sc-tree__row-action {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: #7a8799;
  opacity: 0.72;
  cursor: pointer;
  transition: opacity 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.sc-tree__row-action:hover {
  opacity: 1;
  background: rgba(31, 65, 105, 0.06);
}
.sc-tree__row-action--delete:hover {
  color: #f15b55;
  background: rgba(241, 91, 85, 0.1);
}
.sc-tree__row-action i {
  font-size: 0.9rem;
  line-height: 1;
  color: inherit;
}
.sc-tree__row--l1 .sc-tree__row-action {
  color: #ffffff;
  opacity: 0.85;
}
.sc-tree__row--l1 .sc-tree__row-action:hover {
  opacity: 1;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
}
.sc-tree__row--l1 .sc-tree__row-action--delete:hover {
  color: #ffd4d1;
  background: rgba(255, 255, 255, 0.16);
}
.sc-tree__row--l2:has(.sc-tree__section-heading-btn) .sc-tree__label, .sc-tree__row--l2:has(.sc-tree__row-actions) .sc-tree__label, .sc-tree__row--l3:has(.sc-tree__row-actions) .sc-tree__label, .sc-tree__row--l4:has(.sc-tree__row-actions) .sc-tree__label {
  flex: 1;
  min-width: 0;
}
.sc-tree__row--section-heading:has(.sc-tree__section-heading-btn--delete) .sc-tree__label, .sc-tree__row--section-heading:has(.sc-tree__row-actions) .sc-tree__label {
  flex: 1;
  min-width: 0;
}

.sc-topic-view {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 360px;
}
.sc-topic-view__empty-title {
  margin-bottom: 0;
}
.sc-topic-view__empty-title[hidden] {
  display: none;
}

.sc-topic-detail {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
.sc-topic-detail__header-aside {
  margin-left: auto;
}
.sc-topic-detail__publish-date {
  text-align: right;
}
.sc-topic-detail__publish-date .sc-topic-detail__field-label {
  margin-bottom: 0.15rem;
  font-size: 0.65rem;
}
.sc-topic-detail__publish-date .sc-topic-detail__field-value {
  font-size: 0.775rem;
}
.sc-topic-detail__field-label {
  display: block;
  font-size: 0.75rem;
  color: #7a8799;
  margin-bottom: 0.25rem;
}
.sc-topic-detail__field-value {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #0b1f3f;
  line-height: 1.4;
}
.sc-topic-detail__modules-text {
  font-size: 0.8125rem;
  color: #0b1f3f;
  line-height: 1.65;
}
.sc-topic-detail__footer {
  margin-top: auto;
  padding-top: 1rem;
}
.sc-topic-detail__footer-btns {
  flex: 0 1 auto;
  min-width: 0;
}
.sc-topic-detail__footer-btns .sc-btn {
  min-width: 160px;
}
.sc-topic-detail__footer-btns .sc-topic-detail__actions {
  flex-shrink: 0;
}
.sc-topic-detail__action {
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  transition: background 0.2s ease, opacity 0.2s ease;
}
.sc-topic-detail__action-icon {
  display: block;
  width: 18px;
  height: 18px;
  object-fit: contain;
  pointer-events: none;
}
.sc-topic-detail__action--edit {
  background: #e8e8e8;
}
.sc-topic-detail__action--edit:hover {
  background: #dcdcdc;
}
.sc-topic-detail__action--delete {
  background: #f15b55;
}
.sc-topic-detail__action--delete:hover {
  background: #e04a44;
}

.sc-add-topic[hidden] {
  display: none !important;
}
.sc-add-topic__header {
  margin-bottom: 1.5rem;
  padding-bottom: 0.25rem;
}
.sc-add-topic__heading-row {
  gap: 0.65rem;
  margin-bottom: 0.35rem;
}
.sc-add-topic__body {
  margin-top: 0;
}
@media (min-width: 992px) {
  .sc-add-topic__sidebar-col {
    position: sticky;
    top: 1rem;
    z-index: 2;
    align-self: flex-start;
  }
}
@media (min-width: 992px) {
  .sc-add-topic__panel--types {
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(31, 65, 105, 0.28) transparent;
  }
  .sc-add-topic__panel--types::-webkit-scrollbar {
    width: 4px;
  }
  .sc-add-topic__panel--types::-webkit-scrollbar-track {
    background: transparent;
  }
  .sc-add-topic__panel--types::-webkit-scrollbar-thumb {
    background: rgba(31, 65, 105, 0.28);
    border-radius: 999px;
  }
}
@media (min-width: 992px) {
  .sc-add-topic__content-col {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 100%;
  }
}
@media (min-width: 992px) {
  .sc-add-topic__panel--contents {
    display: flex;
    flex-direction: column;
    flex: 1;
    width: 100%;
    min-height: 100%;
    max-height: calc(100dvh - 15rem);
    overflow: hidden;
  }
}
.sc-add-topic__panel--contents:has(.sc-add-chapter-form__select-wrap.is-open) {
  overflow: visible;
}
@media (min-width: 992px) {
  .sc-add-topic__contents-scroll {
    flex: 1;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(31, 65, 105, 0.28) transparent;
  }
  .sc-add-topic__contents-scroll:has(.sc-add-chapter-form__select-wrap.is-open) {
    overflow: visible;
  }
  .sc-add-topic__contents-scroll::-webkit-scrollbar {
    width: 6px;
  }
  .sc-add-topic__contents-scroll::-webkit-scrollbar-track {
    background: transparent;
  }
  .sc-add-topic__contents-scroll::-webkit-scrollbar-thumb {
    background: rgba(31, 65, 105, 0.28);
    border-radius: 999px;
  }
}
.sc-add-topic__back {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  line-height: 0;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.2s ease;
}
.sc-add-topic__back:hover {
  opacity: 0.7;
}
.sc-add-topic__back svg {
  display: block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.sc-add-topic__back-icon {
  display: block;
  width: 20px;
  height: 20px;
  object-fit: contain;
  pointer-events: none;
}
.sc-add-topic__title {
  font-size: 1.375rem;
  font-weight: 700;
  color: #1F4169;
  line-height: 1.2;
}
.sc-add-topic__subtitle {
  font-size: 0.8125rem;
  color: #7a8799;
  max-width: 42rem;
}
@media (max-width: 575.98px) {
  .sc-add-topic__title {
    font-size: 1.125rem;
  }
}
.sc-add-topic__shell {
  margin-bottom: 0;
}
.sc-add-topic__panel {
  background: #ffffff;
  box-shadow: 0 0 25.9px rgba(0, 0, 0, 0.1);
  border-radius: 35px;
  padding: 1.25rem 1.35rem;
}
@media (min-width: 576px) {
  .sc-add-topic__panel {
    padding: 1.35rem 1.5rem;
  }
}
.sc-add-topic__contents-title {
  font-size: 1rem;
  font-weight: 600;
  color: #0b1f3f;
}
.sc-add-topic__type-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
  min-height: 48px;
  padding: 0.65rem 1rem;
  border: 1px solid #929292;
  border-radius: 11px;
  background: #ffffff;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F4169;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.sc-add-topic__type-btn:hover {
  background: #f8fafc;
  border-color: rgba(31, 65, 105, 0.25);
}
.sc-add-topic__blocks {
  gap: 0.75rem;
}
.sc-add-topic__block-bar {
  background: #eef1f6;
  border-radius: 12px;
  padding: 0.8rem 1rem;
  margin-bottom: 0.5rem;
}
.sc-add-topic__block {
  padding: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}
.sc-add-topic__block--expanded {
  margin-bottom: 0.25rem;
}
.sc-add-topic__block--expanded .sc-add-topic__editor {
  border: 1px solid #e4e9f0;
  border-radius: 12px;
}
.sc-add-topic__block--saved {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background: #eef1f6;
  border-radius: 12px;
  padding: 0.85rem 1rem;
  min-height: 68px;
}
.sc-add-topic__drag {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  padding: 0;
  border: none;
  background: transparent;
  cursor: grab;
  line-height: 0;
  touch-action: none;
}
.sc-add-topic__drag:hover {
  opacity: 0.75;
}
.sc-add-topic__drag:active {
  cursor: grabbing;
}
.sc-add-topic__drag-icon {
  display: block;
  width: 12px;
  height: auto;
  object-fit: contain;
  pointer-events: none;
}
.sc-add-topic__block-main {
  flex: 1 1 auto;
  min-width: 0;
}
.sc-add-topic__block-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #0b1f3f;
  line-height: 1.3;
}
.sc-add-topic__block-actions {
  align-self: center;
}
.sc-add-topic__block-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  opacity: 0.85;
}
.sc-add-topic__block-action:hover {
  opacity: 1;
}
.sc-add-topic__block-action .bi {
  line-height: 1;
  pointer-events: none;
}
.sc-add-topic__block-action img {
  display: block;
  pointer-events: none;
}
.sc-add-topic__block-preview {
  font-size: 0.75rem;
  color: #7a8799;
  line-height: 1.45;
  margin-top: 0.2rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.sc-add-topic__block-preview--file {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
  overflow: visible;
  color: #7a8799;
  font-weight: 400;
}
.sc-add-topic__block-preview--file .bi {
  font-size: 0.9rem;
  color: #7a8799;
  flex-shrink: 0;
}
.sc-add-topic__editor {
  margin-top: 0;
  overflow: hidden;
  background: #ffffff;
}
.sc-add-topic__toolbar {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 0.65rem;
  border-bottom: 1px solid #e4e9f0;
  background: #fafbfc;
}
.sc-add-topic__tool {
  min-width: 32px;
  height: 32px;
  padding: 0 0.5rem;
  border: none;
  border-radius: 8px;
  background: transparent;
  font-size: 0.875rem;
  color: #1F4169;
  cursor: pointer;
}
.sc-add-topic__tool:hover {
  background: rgba(31, 65, 105, 0.06);
}
.sc-add-topic__textarea {
  border: none;
  border-radius: 0;
  resize: vertical;
  min-height: 140px;
  padding: 0.85rem 1rem;
  font-size: 0.875rem;
  color: #0b1f3f;
  box-shadow: none;
}
.sc-add-topic__textarea:focus {
  border-color: transparent;
  box-shadow: none;
}
.sc-add-topic__textarea::placeholder {
  color: #7a8799;
}
.sc-add-topic__footer {
  border-top: 1px solid rgba(31, 65, 105, 0.08);
  width: 100%;
}
.sc-add-topic__footer-inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  width: 100%;
}
.sc-add-topic__footer-inner .sc-btn {
  min-width: 140px;
}
@media (max-width: 575.98px) {
  .sc-add-topic__footer-inner .sc-add-topic__footer-actions {
    width: 100%;
    justify-content: flex-end;
    flex-wrap: wrap;
  }
}
.sc-add-topic__footer-actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}

[data-sc-main-view][hidden],
[data-sc-view-content][hidden] {
  display: none !important;
}

.sc-view-content__shell {
  margin-bottom: 0;
}
.sc-view-content__header {
  margin-bottom: 1.25rem;
}
.sc-view-content__heading-row {
  gap: 0.65rem;
}
.sc-view-content__back {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  line-height: 0;
  transition: opacity 0.2s ease;
}
.sc-view-content__back:hover {
  opacity: 0.7;
}
.sc-view-content__back-icon {
  display: block;
  width: 20px;
  height: 20px;
  object-fit: contain;
  pointer-events: none;
}
.sc-view-content__title {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.3;
}
.sc-view-content__title-code {
  font-weight: 500;
  color: rgba(31, 65, 105, 0.55);
  margin-right: 0.35rem;
}
.sc-view-content__title-text {
  color: #1F4169;
}
.sc-view-content__audio {
  position: relative;
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 20px;
  box-shadow: 0 4px 18px rgba(31, 65, 105, 0.06);
  padding: 1.15rem 1.25rem 1.25rem;
  margin-bottom: 1.5rem;
}
.sc-view-content__audio audio {
  display: none;
}
.sc-view-content__audio-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F4169;
  margin-bottom: 1rem;
  line-height: 1.45;
}
.sc-view-content__progress {
  margin-bottom: 1rem;
}
.sc-view-content__progress-track {
  position: relative;
  height: 4px;
  border-radius: 999px;
  background: #d1d9e6;
  overflow: visible;
  cursor: pointer;
  touch-action: none;
}
.sc-view-content__progress-fill {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  border-radius: 999px;
  background: #1F4169;
  pointer-events: none;
}
.sc-view-content__progress-thumb {
  position: absolute;
  top: 50%;
  left: 0;
  width: 6px;
  height: 18px;
  margin-left: -3px;
  transform: translateY(-50%);
  border-radius: 4px;
  background: #1F4169;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
  pointer-events: none;
}
.sc-view-content__times {
  margin-top: 0.4rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #1F4169;
}
.sc-view-content__controls {
  gap: 1rem;
  flex-wrap: wrap;
}
.sc-view-content__volume-wrap {
  position: relative;
}
.sc-view-content__volume-popover {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 0.35rem);
  transform: translateX(-50%);
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  padding: 0.5rem 0.75rem;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 24px rgba(31, 65, 105, 0.12);
}
.sc-view-content__volume-popover::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 0.4rem;
}
.sc-view-content__volume-popover[hidden] {
  display: none !important;
}
.sc-view-content__volume-range {
  width: 100%;
  margin: 0;
  accent-color: #1F4169;
  cursor: pointer;
}
.sc-view-content__speed-menu .dropdown-toggle::after {
  display: none;
}
.sc-view-content__speed-dropdown {
  min-width: 7rem;
  border-radius: 12px;
  border-color: #e2e8f0;
  box-shadow: 0 8px 24px rgba(31, 65, 105, 0.12);
  padding: 0.35rem;
}
.sc-view-content__speed-dropdown .dropdown-item {
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F4169;
  padding: 0.45rem 0.75rem;
}
.sc-view-content__speed-dropdown .dropdown-item.active, .sc-view-content__speed-dropdown .dropdown-item:active {
  background: rgba(31, 65, 105, 0.08);
  color: #1F4169;
}
.sc-view-content__control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: #1F4169;
  font-size: 1.15rem;
  cursor: pointer;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.sc-view-content__control:hover {
  opacity: 0.85;
  transform: scale(1.04);
}
.sc-view-content__control:active {
  transform: scale(0.96);
}
.sc-view-content__control--round {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #e8eef5;
  font-size: 1rem;
}
.sc-view-content__control--play {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(241, 91, 85, 0.15);
  color: #f15b55;
  font-size: 1.5rem;
}
.sc-view-content__control--play.is-playing {
  animation: sc-audio-play-glow 2.4s ease-in-out infinite;
}
.sc-view-content__control.is-anim-skip-back .sc-view-content__control-icon--skip {
  animation: sc-audio-skip-back 0.45s ease;
}
.sc-view-content__control.is-anim-skip-fwd .sc-view-content__control-icon--skip {
  animation: sc-audio-skip-fwd 0.45s ease;
}
.sc-view-content__control.is-anim-play .sc-view-content__control-icon {
  animation: sc-audio-play-press 0.35s ease;
}
.sc-view-content__control.is-anim-volume .sc-view-content__control-icon {
  animation: sc-audio-volume-pulse 0.4s ease;
}
.sc-view-content__control.is-anim-menu .sc-view-content__control-icon {
  animation: sc-audio-menu-pop 0.35s ease;
}
.sc-view-content__control-icon {
  display: block;
  flex-shrink: 0;
  pointer-events: none;
}
.sc-view-content__control-icon--skip {
  width: 18px;
  height: 22px;
  object-fit: contain;
}
@keyframes sc-audio-skip-back {
  0% {
    transform: rotate(0deg);
  }
  45% {
    transform: rotate(-55deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes sc-audio-skip-fwd {
  0% {
    transform: rotate(0deg);
  }
  45% {
    transform: rotate(55deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes sc-audio-play-press {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.88);
  }
}
@keyframes sc-audio-play-glow {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(241, 91, 85, 0.2);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(241, 91, 85, 0);
  }
}
@keyframes sc-audio-volume-pulse {
  0%, 100% {
    transform: scale(1);
  }
  35% {
    transform: scale(0.82);
  }
  70% {
    transform: scale(1.08);
  }
}
@keyframes sc-audio-menu-pop {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.18);
  }
}
@media (prefers-reduced-motion: reduce) {
  .sc-view-content__control {
    transition: opacity 0.2s ease;
  }
  .sc-view-content__control:hover, .sc-view-content__control:active {
    transform: none;
  }
  .sc-view-content__control--play.is-playing {
    animation: none;
  }
  .sc-view-content__control.is-anim-skip-back .sc-view-content__control-icon--skip, .sc-view-content__control.is-anim-skip-fwd .sc-view-content__control-icon--skip, .sc-view-content__control.is-anim-play .sc-view-content__control-icon, .sc-view-content__control.is-anim-volume .sc-view-content__control-icon, .sc-view-content__control.is-anim-menu .sc-view-content__control-icon {
    animation: none;
  }
}
@media (max-width: 575.98px) {
  .sc-view-content__audio {
    padding: 1rem;
  }
  .sc-view-content__controls {
    gap: 0.75rem;
  }
  .sc-view-content__control--round {
    width: 40px;
    height: 40px;
  }
  .sc-view-content__control--play {
    width: 50px;
    height: 50px;
    font-size: 1.35rem;
  }
}
.sc-view-content__article-title {
  font-size: 1rem;
  font-weight: 700;
  color: #1F4169;
  margin-bottom: 1rem;
}
.sc-view-content__list {
  margin: 0 0 0 1.15rem;
  padding: 0;
  font-size: 0.875rem;
  color: #0b1f3f;
  line-height: 1.65;
}
.sc-view-content__list li {
  margin-bottom: 0.85rem;
}
.sc-view-content__list li:last-child {
  margin-bottom: 0;
}
.sc-view-content__list-item--empty {
  list-style-type: disc;
  min-height: 0.5rem;
}
.sc-view-content__list-item--empty::marker {
  color: #1F4169;
}
.sc-view-content__logo-wrap {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
  padding-bottom: 0.5rem;
}
.sc-view-content__logo {
  display: block;
  max-width: min(320px, 100%);
  height: auto;
  object-fit: contain;
}

.sc-publish-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin: 0;
  padding: 0.4rem 0.55rem 0.4rem 1rem;
  background: #d7ffe3;
  border-radius: 12px;
  cursor: pointer;
  user-select: none;
  flex-shrink: 0;
}
.sc-publish-switch input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
.sc-publish-switch__label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #008236;
  line-height: 1;
  white-space: nowrap;
}
.sc-publish-switch__track {
  width: 44px;
  height: 24px;
  border-radius: 999px;
  background: #94b8a3;
  position: relative;
  transition: background 0.2s ease;
  flex-shrink: 0;
}
.sc-publish-switch__track::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #ffffff;
  transition: transform 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
input:checked ~ .sc-publish-switch__track {
  background: #008236;
}
input:checked ~ .sc-publish-switch__track::after {
  transform: translateX(20px);
}
input:not(:checked) ~ .sc-publish-switch__label {
  opacity: 0.75;
}
.sc-publish-switch--fto-status {
  gap: 0.5rem;
  height: 42px;
  box-sizing: border-box;
  border-radius: 999px;
  padding: 0 0.65rem 0 1rem;
  transition: background 0.2s ease;
}
.sc-publish-switch--fto-status .sc-publish-switch__label {
  font-size: 0.75rem;
}
.sc-publish-switch--fto-status .sc-publish-switch__track {
  width: 36px;
  height: 20px;
  border-radius: 999px;
}
.sc-publish-switch--fto-status .sc-publish-switch__track::after {
  top: 3px;
  left: 3px;
  width: 14px;
  height: 14px;
}
.sc-publish-switch--fto-status input:checked ~ .sc-publish-switch__track::after {
  transform: translateX(16px);
}
.sc-publish-switch--fto-status input:not(:checked) ~ .sc-publish-switch__label {
  color: #dc2626;
  opacity: 1;
}
.sc-publish-switch--fto-status input:not(:checked) ~ .sc-publish-switch__track {
  background: #f87171;
}
.sc-publish-switch--fto-status:has(input:not(:checked)) {
  background: rgba(239, 68, 68, 0.14);
}

.sc-empty {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem 1.5rem;
  min-height: 360px;
}
.sc-empty__icon {
  margin-bottom: 1.25rem;
  line-height: 0;
}
.sc-empty__img {
  display: block;
  width: auto;
  max-width: min(220px, 100%);
  height: auto;
  object-fit: contain;
}
.sc-empty__title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #0b1f3f;
  margin-bottom: 0.35rem;
}
.sc-empty__text {
  font-size: 0.8125rem;
  color: #7a8799;
  max-width: 18rem;
}

.sc-app-modal .modal-backdrop.show {
  opacity: 0.35;
}
.sc-app-modal .modal-content, .sc-app-modal__content {
  border: none;
  border-radius: 32px;
  overflow: visible;
}
@media (max-width: 575.98px) {
  .sc-app-modal .modal-content, .sc-app-modal__content {
    border-radius: 28px;
  }
}
.sc-app-modal__content {
  box-shadow: 0 0 21.4px rgba(0, 0, 0, 0.08);
  padding: 1.5rem 2rem 1.75rem;
}
@media (max-width: 575.98px) {
  .sc-app-modal__content {
    padding: 1.5rem 1.25rem 1.25rem;
  }
}
.sc-app-modal .modal-dialog:not(.modal-dialog-scrollable) {
  overflow: visible;
}
.sc-app-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-content,
.sc-app-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-body,
.sc-app-modal .modal-dialog:not(.modal-dialog-scrollable) .sc-app-modal__body {
  overflow: visible;
}
.sc-app-modal .sm-edit-module-form {
  overflow: visible;
}
.sc-app-modal .sm-edit-module-form__row {
  position: relative;
  z-index: 1;
}
.sc-app-modal .sm-edit-module-form__row:has(.filter-multi-select.is-open), .sc-app-modal .sm-edit-module-form__row:has(.sc-add-chapter-form__select-wrap.is-open) {
  z-index: 30;
}
.sc-app-modal .sc-add-chapter-form__select-wrap--multi {
  position: relative;
  z-index: 1;
}
.sc-app-modal .sc-add-chapter-form__select-wrap--multi:has(.filter-multi-select.is-open) {
  z-index: 40;
}
.sc-app-modal .filter-multi-select.is-open {
  z-index: 50;
}
.sc-app-modal .filter-multi-select__panel {
  z-index: 60;
  background: #fff;
}
.sc-app-modal__close {
  position: absolute;
  top: -7px;
  right: -7px;
  z-index: 10;
  width: 40px;
  height: 40px;
  border: 1.5px solid #ffffff;
  border-radius: 50%;
  background: #000;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition: opacity 0.2s ease;
}
.sc-app-modal__close:hover {
  opacity: 0.9;
}
.sc-app-modal__header {
  width: 100%;
  padding-top: 0;
  padding-bottom: 1.35rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #e4e9f0 !important;
}
.sc-app-modal__header hr {
  display: none;
}
.sc-app-modal__title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #1f4169;
  text-align: center;
  margin-bottom: 0.5rem;
  width: 100%;
  line-height: 1.25;
}
.sc-app-modal__subtitle {
  font-size: 0.8125rem;
  color: #1f4169;
  opacity: 0.75;
  text-align: center;
}
.sc-app-modal__body {
  padding-top: 0 !important;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.sc-app-modal__footer {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.35rem;
  padding-top: 0.25rem;
  padding-bottom: 0.5rem;
}
.sc-app-modal__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  max-width: 200px;
  min-width: 0;
  min-height: 48px;
  height: auto;
  padding: 0 1.5rem;
  border: none;
  border-radius: 999px;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}
.sc-app-modal__btn--cancel {
  background: #eef1f5;
  color: #1f4169;
}
.sc-app-modal__btn--cancel:hover {
  background: #e2e8f0;
  color: #1f4169;
}
.sc-app-modal__btn--save, .sc-app-modal__btn--danger, .sc-app-modal__btn--primary {
  background: #f15b55;
  color: #ffffff;
}
.sc-app-modal__btn--save:hover, .sc-app-modal__btn--danger:hover, .sc-app-modal__btn--primary:hover {
  background: #e04a44;
}
@media (max-width: 575.98px) {
  .sc-app-modal__footer {
    flex-direction: column;
  }
  .sc-app-modal__footer .sc-app-modal__btn {
    max-width: 100%;
    width: 100%;
    flex: none;
  }
}

#fto-directory-filter-modal .fto-directory-filter-fields {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
#fto-directory-filter-modal .sm-edit-module-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 575.98px) {
  #fto-directory-filter-modal .sm-edit-module-form__row {
    grid-template-columns: 1fr;
  }
}

#addChapterModal.sc-add-chapter-modal .modal-dialog {
  max-width: 800px;
}

.sc-add-subject-modal .modal-dialog {
  max-width: 560px;
}

.sc-program-readonly {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  min-height: 0;
  padding: 0.55rem 0.85rem;
  border-radius: 8px;
  background: #f4f7fb;
  border: 1px solid #e4e9f0;
}
.sc-program-readonly__key {
  flex-shrink: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #7a8799;
  line-height: 1.2;
}
.sc-program-readonly__key::after {
  content: ":";
}
.sc-program-readonly__value {
  min-width: 0;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  color: #1F4169;
  line-height: 1.2;
}

.sc-delete-subject-modal .modal-dialog,
.sc-subject-added-success-modal .modal-dialog {
  max-width: 520px;
}
.sc-delete-subject-modal .modal-header.sc-app-modal__header,
.sc-subject-added-success-modal .modal-header.sc-app-modal__header {
  width: 100%;
  padding-bottom: 0.35rem;
  padding-left: 0;
  padding-right: 0;
  margin-bottom: 0.75rem;
}
.sc-delete-subject-modal .sc-app-modal__title,
.sc-subject-added-success-modal .sc-app-modal__title {
  margin-bottom: 0.5rem;
}
.sc-delete-subject-modal__divider,
.sc-subject-added-success-modal__divider {
  width: 100%;
  margin: 0;
  border: none;
  border-top: 1px solid #e4e9f0;
  opacity: 1;
}
.sc-delete-subject-modal__body,
.sc-subject-added-success-modal__body {
  padding: 0.5rem 0.5rem 0;
}
.sc-delete-subject-modal__text,
.sc-subject-added-success-modal__text {
  font-style: normal;
  font-weight: 300;
  font-size: 17.2px;
  line-height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #1F4169;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 1rem;
}
.sc-delete-subject-modal__footer,
.sc-subject-added-success-modal__footer {
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.85rem;
  margin-top: 0.35rem;
  padding-top: 0.25rem;
}
.sc-delete-subject-modal__footer .sc-app-modal__btn,
.sc-subject-added-success-modal__footer .sc-app-modal__btn {
  width: auto;
  min-width: 0;
  max-width: 200px;
  flex: 1 1 0;
  padding: 0 1.5rem;
  min-height: 48px;
}

.sc-add-section-heading-modal .modal-dialog {
  max-width: 520px;
}
.sc-add-section-heading-modal__context {
  margin: 0;
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  background: rgba(31, 65, 105, 0.05);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.45;
  color: #0b1f3f;
  text-align: center;
}
.sc-add-section-heading-modal__footer {
  flex-direction: row;
  flex-wrap: nowrap;
}
.sc-add-section-heading-modal__footer .sc-app-modal__btn {
  flex: 1 1 0;
  width: auto;
  min-width: unset;
}

.sc-push-subject-modal .modal-dialog {
  max-width: 640px;
}
.sc-push-subject-modal__section {
  padding-bottom: 1.25rem;
  margin-bottom: 1.25rem;
  border-bottom: 1px solid #e4e9f0;
}
.sc-push-subject-modal__section:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.sc-push-subject-modal__section-title {
  margin: 0 0 0.85rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #1F4169;
  line-height: 1.3;
}
.sc-push-subject-modal__scope {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #1F4169;
  line-height: 1.35;
}
.sc-push-subject-modal__note {
  font-size: 0.8125rem;
  line-height: 1.45;
  color: #7a8799;
}
.sc-push-subject-modal__changes-scroll {
  max-height: 220px;
  overflow-y: auto;
  padding-right: 0.15rem;
  margin-bottom: 0.5rem;
  scrollbar-width: thin;
  scrollbar-color: #f15b55 transparent;
}
.sc-push-subject-modal__changes-scroll::-webkit-scrollbar {
  width: 4px;
}
.sc-push-subject-modal__changes-scroll::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}
.sc-push-subject-modal__changes-scroll::-webkit-scrollbar-track {
  background: transparent;
}
.sc-push-subject-modal__changes-scroll::-webkit-scrollbar-thumb {
  background: #f15b55;
  border-radius: 999px;
}
.sc-push-subject-modal__changes {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.sc-push-subject-modal__changes.accordion {
  --bs-accordion-border-width: 0;
  --bs-accordion-border-radius: 12px;
  --bs-accordion-inner-border-radius: 12px;
  --bs-accordion-btn-padding-x: 0;
  --bs-accordion-btn-padding-y: 0;
  --bs-accordion-body-padding-x: 0;
  --bs-accordion-body-padding-y: 0;
  --bs-accordion-btn-bg: transparent;
  --bs-accordion-active-bg: transparent;
  --bs-accordion-btn-focus-box-shadow: none;
}
.sc-push-subject-modal__change-item {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  border-radius: 12px;
  background: #f4f7fb;
  border: 1px solid #e4e9f0;
  overflow: hidden;
}
.sc-push-subject-modal__change-item.accordion-item {
  background: #f4f7fb;
}
.sc-push-subject-modal__change-head {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
  padding: 0.75rem 0.65rem 0.75rem 0.9rem;
}
.sc-push-subject-modal__change-select {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
  flex: 1 1 auto;
  margin: 0;
  cursor: pointer;
}
.sc-push-subject-modal__change-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  max-width: 2rem;
  padding: 0 !important;
  margin: 0.1rem 0 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
}
.sc-push-subject-modal__change-toggle::after {
  width: 1rem;
  height: 1rem;
  margin: 0 !important;
  background-size: 1rem;
  flex-shrink: 0;
}
.sc-push-subject-modal__change-toggle:not(.collapsed) {
  background: transparent;
  box-shadow: none;
  color: inherit;
}
.sc-push-subject-modal__change-toggle:focus, .sc-push-subject-modal__change-toggle:focus-visible {
  box-shadow: none;
  outline: none;
}
.sc-push-subject-modal__change-toggle:hover, .sc-push-subject-modal__change-toggle:not(.collapsed):hover {
  background: rgba(31, 65, 105, 0.06);
  box-shadow: none;
}
.sc-push-subject-modal__change-check {
  width: 18px;
  height: 18px;
  margin: 0.15rem 0 0;
  flex-shrink: 0;
  accent-color: #1F4169;
  cursor: pointer;
}
.sc-push-subject-modal__change-content {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.sc-push-subject-modal__change-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F4169;
  line-height: 1.35;
}
.sc-push-subject-modal__change-detail {
  font-size: 0.8125rem;
  line-height: 1.4;
  color: #7a8799;
}
.sc-push-subject-modal__change-body {
  padding: 0 0.9rem 0.85rem 2.85rem;
}
.sc-push-subject-modal__change-list {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.sc-push-subject-modal__change-entry {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  background: #ffffff;
  border: 1px solid #e4e9f0;
}
.sc-push-subject-modal__change-entry-path {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1F4169;
  line-height: 1.35;
}
.sc-push-subject-modal__change-entry-detail {
  font-size: 0.75rem;
  line-height: 1.4;
  color: #7a8799;
}
.sc-push-subject-modal__change-empty {
  font-size: 0.8125rem;
  color: #7a8799;
}
.sc-push-subject-modal__selection-error {
  font-size: 0.8125rem;
  line-height: 1.4;
  color: #f15b55;
  margin-top: 0.35rem;
}
.sc-push-subject-modal__date-wrap {
  position: relative;
  cursor: pointer;
}
.sc-push-subject-modal__date-wrap--formatted .sc-push-subject-modal__date-input {
  color: transparent;
  -webkit-text-fill-color: transparent;
  caret-color: transparent;
}
.sc-push-subject-modal__date-wrap--formatted .sc-push-subject-modal__date-input::-webkit-datetime-edit, .sc-push-subject-modal__date-wrap--formatted .sc-push-subject-modal__date-input::-webkit-datetime-edit-fields-wrapper, .sc-push-subject-modal__date-wrap--formatted .sc-push-subject-modal__date-input::-webkit-datetime-edit-text, .sc-push-subject-modal__date-wrap--formatted .sc-push-subject-modal__date-input::-webkit-datetime-edit-month-field, .sc-push-subject-modal__date-wrap--formatted .sc-push-subject-modal__date-input::-webkit-datetime-edit-day-field, .sc-push-subject-modal__date-wrap--formatted .sc-push-subject-modal__date-input::-webkit-datetime-edit-year-field, .sc-push-subject-modal__date-wrap--formatted .sc-push-subject-modal__date-input::-webkit-datetime-edit-hour-field, .sc-push-subject-modal__date-wrap--formatted .sc-push-subject-modal__date-input::-webkit-datetime-edit-minute-field, .sc-push-subject-modal__date-wrap--formatted .sc-push-subject-modal__date-input::-webkit-datetime-edit-ampm-field, .sc-push-subject-modal__date-wrap--formatted .sc-push-subject-modal__date-input::-webkit-date-and-time-value {
  color: transparent;
  -webkit-text-fill-color: transparent;
  background: transparent;
}
.sc-push-subject-modal__date-wrap--formatted .sc-push-subject-modal__date-input::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.72;
}
.sc-push-subject-modal__date-icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1rem;
  color: #7a8799;
  pointer-events: none;
  z-index: 1;
}
.sc-push-subject-modal__date-display {
  position: absolute;
  left: 2.65rem;
  right: 2.35rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.2;
  color: #1F4169;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sc-push-subject-modal__date-display.is-placeholder {
  color: #94a3b8;
  font-weight: 400;
}
.sc-push-subject-modal__date-input {
  padding-left: 2.65rem !important;
  color-scheme: light;
  cursor: pointer;
}
.sc-push-subject-modal__date-input::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.72;
}
.sc-push-subject-modal__manage-link {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #f15b55;
  text-decoration: none;
}
.sc-push-subject-modal__manage-link:hover {
  color: rgb(93.2924126172%, 21.4254049446%, 18.5507246377%);
  text-decoration: underline;
}
.sc-push-subject-modal__placeholders {
  font-size: 0.8125rem;
  line-height: 1.45;
  color: #7a8799;
}
.sc-push-subject-modal__placeholders code {
  font-size: 0.75rem;
  color: #1F4169;
  background: #f4f7fb;
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
}
.sc-push-subject-modal__preview {
  padding: 0.9rem 1rem;
  border-radius: 12px;
  background: #f7f9ff;
  border: 1px solid #e4e9f0;
}
.sc-push-subject-modal__preview-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #7a8799;
}
.sc-push-subject-modal__preview-hint {
  font-size: 0.75rem;
  line-height: 1.4;
  color: #7a8799;
}
.sc-push-subject-modal__preview-list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  max-height: 220px;
  overflow-y: auto;
  padding-right: 0.15rem;
  scrollbar-width: thin;
  scrollbar-color: #f15b55 transparent;
}
.sc-push-subject-modal__preview-list::-webkit-scrollbar {
  width: 4px;
}
.sc-push-subject-modal__preview-list::-webkit-scrollbar-thumb {
  background: #f15b55;
  border-radius: 999px;
}
.sc-push-subject-modal__preview-card {
  margin: 0;
  padding: 0.7rem 0.8rem;
  border-radius: 10px;
  background: #ffffff;
  border: 1px solid #e4e9f0;
}
.sc-push-subject-modal__preview-card-title {
  font-size: 0.75rem;
  font-weight: 700;
  color: #1F4169;
  line-height: 1.3;
}
.sc-push-subject-modal__preview-text {
  font-size: 0.875rem;
  line-height: 1.45;
  color: #1F4169;
  word-break: break-word;
}
.sc-push-subject-modal__preview-text p {
  margin: 0 0 0.35rem;
}
.sc-push-subject-modal__preview-text p:last-child {
  margin-bottom: 0;
}
.sc-push-subject-modal__preview-empty {
  font-size: 0.8125rem;
  line-height: 1.4;
  color: #7a8799;
}
.sc-push-subject-modal [data-push-char-limit] {
  font-size: 0.75rem;
  color: #7a8799;
}

.sc-subject-added-success-modal .sc-app-modal__title {
  margin-bottom: 0.5rem;
}
.sc-subject-added-success-modal__divider {
  width: 100%;
  margin: 0;
  border: none;
  border-top: 1px solid #e4e9f0;
  opacity: 1;
}
.sc-subject-added-success-modal__body {
  padding: 0 0.5rem 0;
}
.sc-subject-added-success-modal__text {
  font-style: normal;
  font-weight: 300;
  font-size: 17.2px;
  line-height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #1F4169;
  max-width: 21rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}
.sc-subject-added-success-modal__footer {
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.85rem;
  margin-top: 1.35rem;
  padding-top: 0.25rem;
}
.sc-subject-added-success-modal__footer .sc-app-modal__btn {
  width: auto;
  min-width: 0;
  max-width: 200px;
  flex: 1 1 0;
  padding: 0 1.5rem;
  min-height: 48px;
}

.sc-add-chapter-form__label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 400;
  color: #000;
  margin-bottom: 0.4rem;
  margin-left: 25px;
  line-height: 1.4;
}
.sc-add-chapter-form__module-link-token {
  font-weight: 700;
}
.sc-add-chapter-form__required {
  color: #f15b55;
  margin-left: 0.1rem;
}
.sc-add-chapter-form__hint {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.35;
  color: rgba(31, 65, 105, 0.65);
  margin-left: 25px;
}
.sc-add-chapter-form__hint--warning {
  color: #f15b55;
}
.sc-add-chapter-form__control.is-warning {
  border-color: rgba(241, 91, 85, 0.55);
}
.sc-add-chapter-form__control {
  background: #ffffff;
  border: 0.449198px solid #c2bfbf;
  border-radius: 84.4492px;
  min-height: 55px;
  padding: 0.65rem 25px;
  font-size: 0.8125rem;
  color: #1f4169 !important;
  font-weight: 500;
}
.sc-add-chapter-form__control::placeholder {
  color: rgba(31, 65, 105, 0.45);
}
.sc-add-chapter-form__control:focus, .sc-add-chapter-form__control:focus-visible {
  border-color: rgba(31, 65, 105, 0.45);
  background: #ffffff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(31, 65, 105, 0.12);
}
.sc-add-chapter-form__control.form-control:focus, .sc-add-chapter-form__control.form-control:focus-visible, .sc-add-chapter-form__control.form-select:focus, .sc-add-chapter-form__control.form-select:focus-visible {
  border-color: rgba(31, 65, 105, 0.45);
  background: #ffffff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(31, 65, 105, 0.12);
}
.sc-add-chapter-form__control--textarea {
  border-radius: 24px;
  min-height: 120px;
  resize: vertical;
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
}
.sc-add-chapter-form__select-wrap {
  position: relative;
}
.sc-add-chapter-form__select-wrap .sc-add-chapter-form__control {
  appearance: none;
  padding-right: 3.75rem;
  cursor: pointer;
}
.sc-add-chapter-form__select-wrap.is-open {
  z-index: 40;
}
.sc-add-chapter-form__select-wrap.is-open .sc-add-chapter-form__select-btn i {
  transform: none;
}
.sc-add-chapter-form__select-wrap.is-open .sc-add-chapter-form__select-btn i::before {
  transform: rotate(180deg) translateY(0.1em);
}
.sc-add-chapter-form__select-wrap--readonly .sc-add-chapter-form__control {
  cursor: not-allowed;
  pointer-events: none;
}
.sc-add-chapter-form__select-btn {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 43px;
  height: 43px;
  border-radius: 50%;
  background: #f15b55;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  line-height: 1;
  pointer-events: none;
}
.sc-add-chapter-form__select-btn i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  margin: 0;
  padding: 0;
  line-height: 0;
  font-style: normal;
  position: static;
  transform: none;
}
.sc-add-chapter-form__select-btn i::before {
  display: block;
  margin: 0;
  padding: 0;
  line-height: 1;
  vertical-align: 0;
  transform-origin: center center;
  transform: translateY(0.1em);
  transition: transform 0.2s ease;
}
.sc-add-chapter-form__select-drawer {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 0.25rem);
  z-index: 50;
  margin: 0;
  padding: 0.2rem 0;
  background: #ffffff;
  border: 1px solid #c5c9d1;
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.1);
  max-height: 16rem;
  overflow-x: hidden;
  overflow-y: auto;
  transform-origin: top center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.5rem);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.22s;
}
.sc-add-chapter-form__select-wrap.is-open .sc-add-chapter-form__select-drawer, .qb-edit__select-wrap.is-open .sc-add-chapter-form__select-drawer, .app-header__program-select-wrap.is-open .sc-add-chapter-form__select-drawer {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.sc-add-chapter-form__select-option {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.4rem 1rem;
  border: none;
  border-radius: 0;
  background: #ffffff;
  color: #1f4169;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.12s ease, color 0.12s ease;
}
.sc-add-chapter-form__select-option:hover, .sc-add-chapter-form__select-option:focus-visible {
  background: #3b82c4;
  color: #ffffff;
  outline: none;
}
.sc-add-chapter-form__select-option.is-selected {
  background: #ffffff;
  color: #1f4169;
}
.sc-add-chapter-form__select-option.is-selected:hover, .sc-add-chapter-form__select-option.is-selected:focus-visible {
  background: #3b82c4;
  color: #ffffff;
}
.sc-add-chapter-form__select-option--placeholder {
  color: #1f4169;
}
.sc-add-chapter-form__select-option--disabled, .sc-add-chapter-form__select-option:disabled {
  cursor: default;
  opacity: 1;
}
.sc-add-chapter-form__select-option--disabled:hover, .sc-add-chapter-form__select-option--disabled:focus-visible, .sc-add-chapter-form__select-option:disabled:hover, .sc-add-chapter-form__select-option:disabled:focus-visible {
  background: #ffffff;
  color: #1f4169;
}
.sc-add-chapter-form__file-wrap {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 55px;
  margin: 0;
  padding: 0 1.15rem 0 2.75rem;
  background: #ffffff;
  border: 0.449198px solid #c2bfbf;
  border-radius: 84.4492px;
  cursor: pointer;
}
.sc-add-chapter-form__file-icon {
  position: absolute;
  left: 1.15rem;
  top: 50%;
  transform: translateY(-50%);
  color: #1f4169;
  font-size: 1rem;
  pointer-events: none;
}
.sc-add-chapter-form__file-text {
  font-size: 0.8125rem;
  color: rgba(31, 65, 105, 0.45);
  pointer-events: none;
}
.sc-add-chapter-form__file-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.sc-add-chapter-form__checks {
  margin-top: 0.25rem;
}
.sc-add-chapter-form__check {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  cursor: pointer;
  user-select: none;
}
.sc-add-chapter-form__checkbox {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
.sc-add-chapter-form__checkbox:checked + .sc-add-chapter-form__check-box {
  background: #22c55e;
  border-color: #22c55e;
}
.sc-add-chapter-form__checkbox:checked + .sc-add-chapter-form__check-box::after {
  opacity: 1;
}
.sc-add-chapter-form__checkbox:focus-visible + .sc-add-chapter-form__check-box {
  outline: 2px solid rgba(31, 65, 105, 0.35);
  outline-offset: 2px;
}
.sc-add-chapter-form__check-box {
  width: 22px;
  height: 22px;
  border-radius: 5px;
  border: 2px solid #c2bfbf;
  background: #ffffff;
  flex-shrink: 0;
  position: relative;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.sc-add-chapter-form__check-box::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 6px;
  height: 11px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 0.15s ease;
}
.sc-add-chapter-form__check-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #1f4169;
}
.sc-add-chapter-form__check--wrap .sc-add-chapter-form__check-label {
  line-height: 1.35;
}

.sc-add-subject-form__checks {
  padding-top: 0.25rem;
}

.sc-content-settings-modal .modal-dialog {
  max-width: 640px;
}
.sc-content-settings-modal__body {
  padding-top: 0.75rem;
  padding-bottom: 0.5rem;
}
.sc-content-settings-modal__field .sc-add-chapter-form__label {
  margin-bottom: 0.45rem;
}
.sc-content-settings-modal__control--readonly {
  background: #f3f4f6 !important;
  color: rgba(31, 65, 105, 0.72);
  cursor: not-allowed;
  box-shadow: none;
}

.sc-hierarchy-id {
  display: flex;
  align-items: stretch;
  width: 100%;
  min-height: 55px;
  background: #ffffff;
  border: 0.449198px solid #c2bfbf;
  border-radius: 84.4492px;
  overflow: hidden;
}
.sc-hierarchy-id.is-warning {
  border-color: rgba(241, 91, 85, 0.55);
}
.sc-hierarchy-id--readonly {
  background: #f3f4f6;
}
.sc-hierarchy-id--readonly .sc-hierarchy-id__prefix {
  display: none;
}
.sc-hierarchy-id--readonly .sc-hierarchy-id__suffix {
  background: #f3f4f6 !important;
  color: rgba(31, 65, 105, 0.72);
  cursor: not-allowed;
  padding-left: 25px !important;
}
.sc-hierarchy-id__prefix {
  display: inline-flex;
  align-items: center;
  flex: 0 1 auto;
  max-width: 68%;
  padding: 0.65rem 0.8rem 0.65rem 25px;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  color: rgba(31, 65, 105, 0.72);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  user-select: none;
  pointer-events: none;
  background: #f1f5f9;
}
.sc-hierarchy-id__prefix:empty {
  display: none;
}
.sc-hierarchy-id__suffix {
  flex: 1 1 auto;
  min-width: 2.75rem;
  width: auto;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: calc(55px - 2px);
  padding-left: 0.35rem !important;
  background: transparent !important;
}
.sc-hierarchy-id__suffix:focus {
  outline: none;
  box-shadow: none !important;
}
.sc-hierarchy-id--compact {
  min-height: 55px;
}
.sc-hierarchy-id--compact .sc-hierarchy-id__prefix {
  max-width: 72%;
  padding-left: 0.75rem;
  font-size: 0.75rem;
}
.sc-hierarchy-id--compact .sc-hierarchy-id__suffix {
  padding-left: 1.55rem !important;
  font-size: 0.8125rem;
}

.sc-add-topic__header-top {
  width: 100%;
}

.sc-add-topic__heading-wrap {
  min-width: 0;
  flex: 1 1 auto;
}

.sc-add-topic__header-actions {
  flex-shrink: 0;
  align-self: flex-start;
}

.add-blog-page .sc-add-topic__heading-row {
  gap: 1.05rem;
}

@media (max-width: 991.98px) {
  .sc-workspace-shell {
    border-radius: 28px;
    padding: 1rem 1.125rem;
  }
  .sc-panel--hierarchy,
  .sc-panel--details {
    min-height: auto;
  }
  .sc-tree {
    max-height: none;
  }
}
.fto-detail-page .sc-btn--outline {
  background: transparent;
  border: 1px solid #1F4169;
  color: #1F4169;
}
.fto-detail-page .sc-btn--outline:hover {
  background: rgba(31, 65, 105, 0.06);
  color: #1F4169;
}
.fto-detail-page .section-block__subtitle {
  max-width: none;
}

.fto-detail__intro .sc-add-topic__header {
  margin-bottom: 0;
}

.fto-student-detail__intro .sc-add-topic__header {
  margin-bottom: 0;
}

.fto-detail__back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1F4169;
  text-decoration: none;
}
.fto-detail__back-link:hover {
  color: rgb(8.5098039216%, 17.8431372549%, 28.8235294118%);
}

.fto-detail-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 600;
}
.fto-detail-badge--type {
  background: rgba(31, 65, 105, 0.1);
  color: #1F4169;
}
.fto-detail-badge--active {
  background: rgba(34, 197, 94, 0.12);
  color: #22c55e;
}
.fto-detail-badge--portal {
  background: rgba(59, 130, 246, 0.14);
  color: #2563eb;
}
.fto-detail-badge--payment {
  background: rgba(34, 197, 94, 0.12);
  color: #22c55e;
}

.fto-detail-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 1.75rem;
  padding: 0;
  margin-bottom: 1.25rem;
  background: transparent;
  border: none;
  border-bottom: 1px solid #e4e9f0;
  border-radius: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.fto-detail-tabs__btn {
  border: none;
  background: transparent;
  color: #7a8799;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 0.85rem 0.15rem;
  margin-bottom: -1px;
  border-radius: 0;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.fto-detail-tabs__btn--active {
  background: transparent;
  color: #1F4169;
  font-weight: 600;
  border-bottom-color: #1F4169;
  box-shadow: none;
}

.fto-detail-tab-panel {
  min-height: 120px;
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
}

.fto-detail-tab-content {
  min-width: 0;
  max-width: 100%;
}
.fto-detail-tab-content .directory,
.fto-detail-tab-content .table-wrap,
.fto-detail-tab-content .table-body {
  min-width: 0;
  max-width: 100%;
}

.fto-detail-toolbar__search {
  position: relative;
  flex: 1 1 320px;
  max-width: 420px;
  min-width: 0;
}
.fto-detail-toolbar__search-icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #7a8799;
  font-size: 0.9rem;
  pointer-events: none;
}
.fto-detail-toolbar__search-input {
  height: 44px;
  padding-left: 2.5rem;
  border: 1px solid #e4e9f0;
  border-radius: 999px;
  font-size: 0.8125rem;
  box-shadow: none;
}
.fto-detail-toolbar__search-input:focus {
  border-color: rgba(31, 65, 105, 0.35);
  box-shadow: 0 0 0 0.15rem rgba(31, 65, 105, 0.08);
}
.fto-detail-toolbar__filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  height: 44px;
  padding: 0 1.15rem;
  border: 1px solid #e4e9f0;
  border-radius: 999px;
  background: #ffffff;
  color: #1F4169;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.fto-detail-toolbar__filter-btn:hover {
  background: #f8fafc;
  border-color: rgba(31, 65, 105, 0.18);
}

@media (min-width: 992px) {
  .fto-list--students .fto-list__head,
  .fto-list--students .fto-row {
    grid-template-columns: 2fr 1fr 0.95fr 1.15fr 0.8fr 0.85fr 0.75fr;
  }
}
.fto-list--students .fto-list__head {
  grid-template-columns: 2fr 1fr 0.95fr 1.15fr 0.8fr 0.85fr 0.75fr;
}

.fto-detail-student-row__avatar {
  border-radius: 50%;
}

.fto-detail-info {
  display: grid;
  gap: 1rem;
}
.fto-detail-info--grid {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .fto-detail-info--grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.fto-detail-info__label {
  font-size: 0.6875rem;
  color: #7a8799;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.fto-detail-info__value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F4169;
  word-break: break-word;
}

.fto-detail-activity__item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.85rem 0;
}
.fto-detail-activity__item:not(:last-child) {
  border-bottom: 1px solid rgba(228, 233, 240, 0.55);
}
.fto-detail-activity__dot {
  width: 8px;
  height: 8px;
  margin-top: 0.4rem;
  border-radius: 50%;
  background: #1F4169;
  flex-shrink: 0;
}
.fto-detail-activity__text {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1F4169;
}
.fto-detail-activity__time {
  font-size: 0.75rem;
  color: #7a8799;
  margin-top: 0.15rem;
}

.fto-detail-placeholder {
  min-height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.fto-detail-placeholder__text {
  font-size: 0.875rem;
  color: #7a8799;
}

@media (max-width: 575.98px) {
  .fto-detail__actions {
    width: 100%;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
  }
  .fto-detail__actions .sc-btn,
  .fto-detail__actions .btn {
    width: auto;
    flex: 0 0 auto;
  }
  .fto-detail__actions .sc-publish-switch--fto-status {
    flex-shrink: 0;
  }
  .fto-detail-tabs {
    gap: 1rem;
  }
  .fto-detail-page .main-layout {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  .fto-detail-page .section-block--panel-fto {
    padding: 1rem 0.75rem 0.85rem;
    border-radius: 20px;
  }
  .fto-detail-page .fto-detail-tabs__btn {
    font-size: 0.8125rem;
    padding: 0.75rem 0.1rem;
  }
  .fto-student-detail-page .main-layout {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  .fto-program-detail-page .main-layout {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  .fto-batch-detail-page .main-layout {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  .fto-classroom-detail-page .main-layout {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
}
@media (max-width: 991.98px) {
  .fto-detail-page .fto-detail__intro .sc-add-topic__subtitle {
    max-width: none;
  }
  .fto-detail-page .section-block--panel-fto {
    border-radius: 24px;
  }
  .fto-detail-page .fto-detail,
  .fto-detail-page .fto-detail .content,
  .fto-detail-page .fto-detail-tab-panel,
  .fto-detail-page .fto-detail-tab-content,
  .fto-detail-page .fto-detail__workspace {
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
  }
  .fto-detail-page .directory {
    padding: 12px;
    border-radius: 18px;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }
  .fto-detail-page .directory__header {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-bottom: 12px;
    min-width: 0;
  }
  .fto-detail-page .directory__header > div,
  .fto-detail-page .directory__tools {
    width: 100%;
    min-width: 0;
    margin-left: 0;
  }
  .fto-detail-page .directory__tools {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
  }
  .fto-detail-page .directory .btn--filter,
  .fto-detail-page .directory .btn--export,
  .fto-detail-page .directory .btn-export {
    width: 100%;
    justify-content: center;
  }
  .fto-detail-page .fto-detail-students-table,
  .fto-detail-page .fto-detail-students-table .table-wrap,
  .fto-detail-page .table-wrap.fto-detail-students-table {
    overflow-x: visible !important;
    min-width: 0;
    max-width: 100%;
    width: 100%;
  }
  .fto-detail-page .fto-detail-students-table .table-head,
  .fto-detail-page .fto-detail-students-table .student-row {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
  }
  .fto-detail-page .fto-detail-students-table .student-row {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 14px 12px;
    overflow: hidden;
    box-sizing: border-box;
  }
  .fto-detail-page .fto-detail-students-table .student-row > * {
    min-width: 0;
    max-width: 100%;
  }
  .fto-detail-page .fto-detail-students-table .student-row .col-action {
    flex-direction: column;
    align-items: stretch;
  }
  .fto-detail-page .fto-detail-students-table .student-row .col-action::before {
    display: none !important;
  }
  .fto-detail-page .fto-detail-students-table .student-row .col-action .btn--view {
    width: 100%;
    justify-content: center;
    margin: 0;
  }
  .fto-student-detail-page .fto-student-detail__intro .sc-add-topic__subtitle {
    max-width: none;
  }
  .fto-student-detail-page .student-details-cards {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .fto-student-detail-page .student-profile-card {
    padding: 18px 16px;
  }
  .fto-student-detail-page .student-profile-card__top {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .fto-student-detail-page .student-profile-card__grid {
    grid-template-columns: 1fr;
  }
  .fto-student-detail-page .student-metrics-card {
    padding: 18px 16px;
  }
  .fto-student-detail-page .student-metrics-card__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .fto-student-detail-page .student-metrics-card__rating {
    align-items: flex-start;
    text-align: left;
  }
  .fto-student-detail-page .detail-attendance-summary {
    flex-direction: row;
    border-radius: 999px;
    max-width: 100%;
  }
  .fto-student-detail-page .detail-attendance-summary__right {
    min-width: 0;
    width: auto;
    padding: 11px 18px;
  }
  .fto-program-detail-page .fto-program-detail__section-intro .fto-program-detail__section-desc {
    max-width: none;
  }
  .fto-program-detail-page .batch-detail-profile__grid {
    grid-template-columns: 1fr;
  }
  .fto-program-detail-page .program-overview-stats {
    grid-template-columns: 1fr;
  }
  .fto-program-detail-page .program-overview-grid {
    grid-template-columns: 1fr;
  }
  .fto-batch-detail-page .fto-batch-detail__section-intro .fto-batch-detail__section-desc {
    max-width: none;
  }
  .fto-batch-detail-page .batch-detail-profile__grid {
    grid-template-columns: 1fr;
  }
  .fto-classroom-detail-page .fto-classroom-detail__section-intro .fto-classroom-detail__section-desc {
    max-width: none;
  }
  .fto-classroom-detail-page .batch-detail-profile__grid {
    grid-template-columns: 1fr;
  }
  .fto-classroom-detail-page .classroom-overview-grid {
    grid-template-columns: 1fr;
  }
  .fto-lesson-plan-detail-page .batch-detail-profile__grid {
    grid-template-columns: 1fr;
  }
  .fto-adm-ui .directory {
    padding: 12px 12px 14px;
  }
  .fto-adm-ui .directory__tools {
    flex-direction: column;
    align-items: flex-end;
  }
  .fto-adm-ui .directory__header--tools-only .directory__tools {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    margin-left: 0;
  }
  .fto-adm-ui .directory__header--tools-only .directory__search {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .fto-adm-ui .directory__header--tools-start .directory__tools {
    align-items: center;
    align-self: stretch;
    width: auto;
    margin-left: 0;
    justify-content: flex-start;
  }
  .fto-adm-ui .directory__header--tools-split .directory__tools {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    align-self: stretch;
    width: 100%;
    gap: 10px;
  }
  .fto-adm-ui .directory__header--tools-split .directory__tools-end {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-left: 0;
    width: 100%;
  }
  .fto-adm-ui .directory__header--tools-split .directory__search,
  .fto-adm-ui .directory__header--tools-split .directory__tools-end .directory__search {
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-left: 0;
  }
  .fto-adm-ui .directory__header--tools-split .btn--filter,
  .fto-adm-ui .directory__header--tools-split .btn--primary,
  .fto-adm-ui .directory__header--tools-split .btn--export,
  .fto-adm-ui .directory__header--tools-split .directory__tools-end .btn--primary,
  .fto-adm-ui .directory__header--tools-split .directory__tools-end .btn--export {
    width: 100%;
    justify-content: center;
  }
  .fto-adm-ui .subscription-modules-directory .directory__tools,
  .fto-adm-ui .programs-packages-directory .directory__tools {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    align-self: stretch;
    row-gap: 0.65rem;
  }
  .fto-adm-ui .subscription-modules-directory .directory__tools .table-head__filter,
  .fto-adm-ui .programs-packages-directory .directory__tools .table-head__filter {
    flex: 1 1 calc(50% - 5px);
    min-width: 0;
    max-width: none;
  }
  .fto-adm-ui .subscription-modules-directory .directory__tools .directory__search,
  .fto-adm-ui .programs-packages-directory .directory__tools .directory__search {
    flex: 1 1 100%;
    max-width: none;
    min-width: 0;
    margin-left: 0;
  }
  .fto-adm-ui .programs-packages-directory .directory__tools .table-head__filter {
    flex: 1 1 100%;
  }
  .fto-adm-ui .coupons-general-directory .directory__tools {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    align-self: stretch;
    row-gap: 0.65rem;
    justify-content: flex-start;
  }
  .fto-adm-ui .coupons-general-directory .directory__tools .table-head__filter,
  .fto-adm-ui .coupons-general-directory .directory__tools .sa-directory-select {
    flex: 1 1 calc(50% - 5px);
    min-width: 0;
    max-width: none;
  }
  .fto-adm-ui .coupons-general-directory .directory__tools .directory__search {
    flex: 1 1 100%;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-left: 0;
  }
  .fto-adm-ui .directory .btn--filter,
  .fto-adm-ui .directory .btn--export {
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .stats,
  .fto-adm-ui .stats--students,
  .fto-adm-ui .stats--metrics,
  .fto-adm-ui .stats--content {
    grid-template-columns: 1fr;
  }
  .fto-adm-ui .stat-card {
    padding: 16px 18px;
  }
  .fto-adm-ui .stat-card__value {
    font-size: 24px;
  }
  .fto-adm-ui .student-row .col-action .btn--view {
    width: 100%;
    justify-content: center;
  }
}
.fto-adm-ui .stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}
@media (max-width: 1199.98px) {
  .fto-adm-ui .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .stats {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 16px;
  }
}
.fto-adm-ui .stats--students {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media (max-width: 1399.98px) {
  .fto-adm-ui .stats--students {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .stats--students {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .stats--students {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1199.98px) {
  .fto-adm-ui .stats--metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .stats--metrics {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .stats.stats--content.stats--batch-metrics {
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.fto-adm-ui .stats.stats--content.stats--batch-metrics .stat-card {
  width: 100%;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .stats.stats--content.stats--batch-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .stats.stats--content.stats--batch-metrics {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .stats.stats--content.stats--progress-review {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 991.98px) {
  .fto-adm-ui .stats.stats--content.stats--progress-review {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .stats.stats--content.stats--progress-review {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .stats.stats--content.stats--lesson-plans {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 575.98px) {
  .fto-adm-ui .stats.stats--content.stats--lesson-plans {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .stats--notifications {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 1199.98px) {
  .fto-adm-ui .stats--notifications {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .stats--notifications {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .stat-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 22px;
  border-radius: 24px;
  background: #eaf4fb;
  border: 1px solid rgba(12, 31, 61, 0.06);
  min-width: 0;
}
.fto-adm-ui .stat-card > div:last-child {
  min-width: 0;
  flex: 1;
}
.fto-adm-ui .stat-card--clickable {
  cursor: pointer;
  transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.fto-adm-ui .stat-card--clickable:hover, .fto-adm-ui .stat-card--clickable:focus-visible {
  border-color: rgba(12, 31, 61, 0.22);
  box-shadow: 0 8px 20px rgba(12, 31, 61, 0.1);
  outline: none;
}
.fto-adm-ui .stat-card--clickable.is-active {
  border-color: rgba(12, 31, 61, 0.35);
  box-shadow: 0 0 0 2px rgba(12, 31, 61, 0.18);
}
.fto-adm-ui .stat-card--primary {
  background: #0c1f3d;
  border-color: #0c1f3d;
  color: #fff;
}
.fto-adm-ui .stat-card--primary .stat-card__label {
  color: rgba(255, 255, 255, 0.75);
}
.fto-adm-ui .stat-card--primary .stat-card__value {
  color: #fff;
}
.fto-adm-ui .stat-card--primary .stat-card__sub {
  color: rgba(255, 255, 255, 0.72);
}
.fto-adm-ui .stat-card--primary .stat-card__icon {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}
.fto-adm-ui .stat-card--primary .stat-card__icon .bi {
  color: #fff;
}
.fto-adm-ui .stat-card--primary .stat-card__icon svg {
  stroke: currentColor;
}
.fto-adm-ui .stat-card--primary .stat-card__icon img {
  filter: brightness(0) invert(1);
}
.fto-adm-ui .stat-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.fto-adm-ui .stat-card__icon svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
}
.fto-adm-ui .stat-card__icon--navy {
  color: #0c1f3d;
}
.fto-adm-ui .stat-card__label {
  font-size: 12px;
  color: #6b7c93;
  font-weight: 500;
  margin-bottom: 4px;
  white-space: normal;
  word-break: break-word;
}
.fto-adm-ui .stat-card__value {
  font-size: 28px;
  font-weight: 700;
  color: #1a2b42;
  letter-spacing: -0.02em;
  line-height: 1;
}
.fto-adm-ui .stat-card__sub {
  font-size: 11px;
  font-weight: 500;
  color: #6b7c93;
  margin-top: 6px;
  line-height: 1.3;
}
.fto-adm-ui .stats.stats--content {
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}
.fto-adm-ui .stats.stats--content .stat-card {
  gap: 12px;
  padding: 0.625rem 0.75rem;
  border-radius: 16px;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.fto-adm-ui .stats.stats--content .stat-card:hover {
  background: #0c1f3d;
  border-color: #0c1f3d;
  color: #ffffff;
  box-shadow: 0 12px 28px rgba(12, 31, 61, 0.16);
  transform: translateY(-2px);
}
.fto-adm-ui .stats.stats--content .stat-card:hover .stat-card__label {
  color: rgba(255, 255, 255, 0.75);
}
.fto-adm-ui .stats.stats--content .stat-card:hover .stat-card__value {
  color: #ffffff;
}
.fto-adm-ui .stats.stats--content .stat-card:hover .stat-card__sub,
.fto-adm-ui .stats.stats--content .stat-card:hover .stat-card__meta {
  color: rgba(255, 255, 255, 0.72);
}
.fto-adm-ui .stats.stats--content .stat-card:hover .stat-card__icon {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}
.fto-adm-ui .stats.stats--content .stat-card:hover .stat-card__icon .bi {
  color: #ffffff;
}
.fto-adm-ui .stats.stats--content .stat-card:hover .stat-card__icon svg {
  stroke: currentColor;
}
.fto-adm-ui .stats.stats--content .stat-card:hover .stat-card__icon img {
  filter: brightness(0) invert(1);
}
.fto-adm-ui .stats.stats--content .stat-card__icon {
  width: 40px;
  height: 40px;
  box-shadow: none;
}
.fto-adm-ui .stats.stats--content .stat-card__icon .bi {
  font-size: 1.1rem;
  line-height: 1;
}
.fto-adm-ui .stats.stats--content .stat-card__icon svg {
  stroke: currentColor;
}
.fto-adm-ui .stats.stats--content .stat-card__icon img {
  width: 22px;
  height: 22px;
  max-width: 22px;
  max-height: 22px;
  object-fit: contain;
  transition: filter 0.18s ease;
}
.fto-adm-ui .stats.stats--content .stat-card__label {
  font-size: 11px;
  margin: 0 0 2px;
}
.fto-adm-ui .stats.stats--content .stat-card__value {
  font-size: 1.275rem;
  margin: 0;
}
.fto-adm-ui .stats.stats--content .stat-card__sub,
.fto-adm-ui .stats.stats--content .stat-card__meta {
  font-size: 11px;
  font-weight: 500;
  color: #6b7c93;
  margin: 4px 0 0;
  line-height: 1.3;
}
.fto-adm-ui .stats.stats--content .stat-card--link {
  text-decoration: none;
  color: inherit;
}
.fto-adm-ui .stats.stats--content .stat-card--link:focus-visible {
  outline: 2px solid rgba(12, 31, 61, 0.35);
  outline-offset: 2px;
}
.fto-adm-ui .page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.fto-adm-ui .page-header h1 {
  font-size: 26px;
  font-weight: 700;
  color: #1a2b42;
  margin-bottom: 6px;
  letter-spacing: -0.02em;
}
.fto-adm-ui .page-header h2 {
  font-size: 18px;
  font-weight: 700;
  color: #1a2b42;
  margin-bottom: 4px;
}
.fto-adm-ui .page-header p {
  font-size: 12px;
  color: #6b7c93;
  margin-bottom: 0;
  text-transform: none;
}
.fto-adm-ui .page-header__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.fto-adm-ui .page-header__actions .btn--primary,
.fto-adm-ui .page-header__actions .btn--secondary,
.fto-adm-ui .page-header__actions .btn-export,
.fto-adm-ui .page-header__actions .cgi-details-btn,
.fto-adm-ui .page-header__actions .staff-btn--add {
  height: 40px;
  min-height: 40px;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  box-sizing: border-box;
  line-height: 1.2;
  font-size: 0.8125rem;
  font-weight: 600;
}
@media (max-width: 767.98px) {
  .fto-adm-ui .page-header__actions {
    width: 100%;
  }
  .fto-adm-ui .page-header__actions .btn {
    flex: 1 1 100%;
    justify-content: center;
  }
}
.fto-adm-ui .directory {
  background: #f8fafc;
  border-radius: 24px;
  padding: 24px 28px 28px;
  border: 1px solid #eef2f6;
}
.fto-adm-ui .directory__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.fto-adm-ui .directory__header h2 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 4px;
  color: #1a2b42;
}
.fto-adm-ui .directory__header p {
  font-size: 12px;
  color: #6b7c93;
  margin-bottom: 0;
  text-transform: none;
}
.fto-adm-ui .directory__tools {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-left: auto;
  justify-content: flex-end;
}
.fto-adm-ui .directory__tools .table-head__filter {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  height: 42px;
  min-height: 42px;
  width: auto;
  font-size: 13px;
  font-weight: 600;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 0 36px 0 16px;
  line-height: 1.25;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7c93' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px;
  box-shadow: none;
}
.fto-adm-ui .directory__tools .table-head__filter:focus {
  border-color: rgba(12, 31, 61, 0.36);
  box-shadow: 0 0 0 2px rgba(12, 31, 61, 0.08);
}
.fto-adm-ui .directory__header--tools-only {
  justify-content: flex-end;
}
.fto-adm-ui .directory__header--tools-start {
  justify-content: flex-start;
}
.fto-adm-ui .directory__header--tools-start .directory__tools {
  margin-left: 0;
  justify-content: flex-start;
  width: auto;
}
.fto-adm-ui .directory__header--tools-split {
  justify-content: flex-start;
}
.fto-adm-ui .directory__header--tools-split .directory__tools {
  width: 100%;
  margin-left: 0;
  justify-content: flex-start;
  flex-wrap: wrap;
  row-gap: 0.65rem;
}
.fto-adm-ui .directory__header--tools-split .directory__tools-end {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-left: auto;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
}
.fto-adm-ui .directory__header--tools-split > .directory__tools > .directory__search {
  margin-left: auto;
}
.fto-adm-ui .directory__header--tools-split .directory__tools-end .directory__search {
  margin-left: 0;
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}
.fto-adm-ui .directory__header--tools-split .btn--filter {
  flex-shrink: 0;
}
.fto-adm-ui .directory__filter-select {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  height: 42px;
  min-height: 42px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7c93' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 0 36px 0 16px;
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  color: #1a2b42;
  cursor: pointer;
  min-width: 10.5rem;
  line-height: 1.25;
}
.fto-adm-ui .directory__filter-select:focus, .fto-adm-ui .directory__filter-select:focus-visible {
  outline: none;
  box-shadow: none;
  border-color: #e2e8f0;
}
.fto-adm-ui .directory__search {
  display: flex;
  align-items: center;
  gap: 10px;
  box-sizing: border-box;
  height: 42px;
  min-height: 42px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 0 16px;
  min-width: 0;
  width: 100%;
  max-width: 280px;
  flex: 1 1 auto;
}
@media (min-width: 992px) {
  .fto-adm-ui .directory__search {
    flex: 0 0 280px;
    width: 280px;
    min-width: 280px;
    max-width: 280px;
  }
}
.fto-adm-ui .directory__search svg {
  width: 16px;
  height: 16px;
  color: #6b7c93;
  flex-shrink: 0;
}
.fto-adm-ui .directory__search input {
  border: none;
  outline: none;
  font-size: 13px;
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  background: transparent;
  color: #1a2b42;
  line-height: 1.25;
  height: 100%;
}
.fto-adm-ui .directory__search input::placeholder {
  color: #6b7c93;
}
.fto-adm-ui .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.15s ease;
}
.fto-adm-ui .btn svg {
  width: 16px;
  height: 16px;
}
.fto-adm-ui .btn.btn--back {
  background: #fff;
  color: #1a2b42;
  border: 1px solid #e2e8f0;
  padding: 10px 20px;
  margin-bottom: 0;
  border-radius: 999px;
  font-size: 13px;
}
.fto-adm-ui .btn.btn--back:hover {
  border-color: #cbd5e1;
  color: #1a2b42;
  opacity: 1;
}
.fto-adm-ui .btn--filter,
.fto-adm-ui .btn--export {
  background: #fff;
  color: #1a2b42;
  border: 1px solid #e2e8f0;
  padding: 10px 18px;
  border-radius: 12px;
  font-size: 13px;
}
.fto-adm-ui .btn--primary {
  background: #f15b55;
  color: #fff;
  height: 40px;
  min-height: 40px;
  padding: 0 1.25rem;
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  box-sizing: border-box;
}
.fto-adm-ui .btn--primary:hover {
  color: #fff;
  opacity: 0.92;
}
.fto-adm-ui .btn--secondary {
  background: #eaf4fb;
  color: #0c1f3d;
  border: 1px solid rgba(12, 31, 61, 0.08);
  height: 40px;
  min-height: 40px;
  padding: 0 1.25rem;
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  box-sizing: border-box;
}
.fto-adm-ui .btn--view {
  background: #0c1f3d;
  color: #fff;
  border: none;
  padding: 8px 22px;
  font-size: 12px;
  border-radius: 999px;
  transition: background-color 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}
.fto-adm-ui .btn--view:hover, .fto-adm-ui .btn--view:focus-visible {
  color: #fff;
  background: #152a50;
  opacity: 1;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(12, 31, 61, 0.22);
}
.fto-adm-ui .btn--view:disabled, .fto-adm-ui .btn--view[disabled] {
  background: #0c1f3d;
  color: #fff;
  border-color: transparent;
  opacity: 0.55;
}
.fto-adm-ui .btn--view.btn--view--coral {
  background: #F15B55;
  color: #fff;
}
.fto-adm-ui .btn--view.btn--view--coral:hover, .fto-adm-ui .btn--view.btn--view--coral:focus-visible {
  background: #d32f3b;
  color: #fff;
  box-shadow: 0 4px 12px rgba(230, 57, 70, 0.28);
}
.fto-adm-ui .btn--outline {
  background: #eaf4fb;
  color: #0c1f3d;
  border: 1px solid rgba(12, 31, 61, 0.12);
  padding: 10px 20px;
  font-size: 13px;
  border-radius: 999px;
}
.fto-adm-ui .table-wrap {
  overflow-x: auto;
  max-width: 100%;
}
.fto-adm-ui .table-head,
.fto-adm-ui .student-row,
.fto-adm-ui .fto-directory-row {
  align-items: center;
  gap: 12px;
}
@media (min-width: 992px) {
  .fto-adm-ui .table-head,
  .fto-adm-ui .student-row,
  .fto-adm-ui .fto-directory-row:not(.fto-batches-row) {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.85fr) minmax(0, 0.72fr) minmax(0, 0.9fr) minmax(0, 0.72fr) minmax(0, 0.82fr) minmax(0, 0.62fr) minmax(0, 0.92fr) minmax(0, 1fr) minmax(0, 0.92fr) minmax(72px, auto);
    min-width: 1100px;
  }
}
@media (min-width: 992px) {
  .fto-adm-ui .students-table .table-head,
  .fto-adm-ui .students-table .student-row {
    grid-template-columns: minmax(208px, 1fr) minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 0.9fr) minmax(0, 1.3fr) minmax(0, 0.9fr) minmax(0, 0.95fr) minmax(120px, auto);
    min-width: 1080px;
  }
  .fto-adm-ui .students-table.students-table--export-mode .table-head,
  .fto-adm-ui .students-table.students-table--export-mode .student-row {
    grid-template-columns: 52px minmax(175px, 1fr) minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 0.9fr) minmax(0, 1.3fr) minmax(0, 0.9fr) minmax(0, 0.95fr) minmax(120px, auto);
    min-width: 1160px;
  }
  .fto-adm-ui .students-table .table-head > span:has([data-st-sort=profile]),
  .fto-adm-ui .students-table .table-head > span:has([data-st-sort=program]),
  .fto-adm-ui .students-table .table-head > span:has([data-st-sort=phone]),
  .fto-adm-ui .students-table .table-head > span:has([data-st-sort=email]) {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .fto-adm-ui .students-table .table-head > span:has([data-st-sort=profile]) .sa-directory-sort-btn,
  .fto-adm-ui .students-table .table-head > span:has([data-st-sort=program]) .sa-directory-sort-btn,
  .fto-adm-ui .students-table .table-head > span:has([data-st-sort=phone]) .sa-directory-sort-btn,
  .fto-adm-ui .students-table .table-head > span:has([data-st-sort=email]) .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .fto-adm-ui .students-table .table-head > span:has([data-st-sort=profile]) .table-head__label,
  .fto-adm-ui .students-table .table-head > span:has([data-st-sort=program]) .table-head__label,
  .fto-adm-ui .students-table .table-head > span:has([data-st-sort=phone]) .table-head__label,
  .fto-adm-ui .students-table .table-head > span:has([data-st-sort=email]) .table-head__label {
    justify-content: flex-start;
  }
  .fto-adm-ui .students-table .table-head > span:has([data-st-sort=profile]) .table-head__filter,
  .fto-adm-ui .students-table .table-head > span:has([data-st-sort=program]) .table-head__filter,
  .fto-adm-ui .students-table .table-head > span:has([data-st-sort=phone]) .table-head__filter,
  .fto-adm-ui .students-table .table-head > span:has([data-st-sort=email]) .table-head__filter {
    text-align: left;
  }
}
.fto-adm-ui .students-table .col-module {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
.fto-adm-ui .students-table .col-profile {
  justify-self: start !important;
  text-align: left !important;
  justify-content: flex-start;
  text-align: left;
}
.fto-adm-ui .students-table .col-program,
.fto-adm-ui .students-table .col-phone,
.fto-adm-ui .students-table .col-email {
  justify-self: start !important;
  text-align: left !important;
}
.fto-adm-ui .students-table .col-profile strong {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fto-adm-ui .students-table .col-phone,
.fto-adm-ui .students-table .col-email {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .col-sn,
body[data-nav-mode=core] .fto-adm-ui .students-table .col-batch,
body[data-nav-mode=core] .fto-adm-ui .students-table .col-review,
body[data-nav-mode=core] .fto-adm-ui .students-table .col-certificate,
body[data-nav-mode=core] .fto-adm-ui .students-table [data-student-col=sl],
body[data-nav-mode=core] .fto-adm-ui .students-table [data-student-col=batch],
body[data-nav-mode=core] .fto-adm-ui .students-table [data-student-col=review],
body[data-nav-mode=core] .fto-adm-ui .students-table [data-student-col=certificate] {
  display: none !important;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head .col-select,
body[data-nav-mode=core] .fto-adm-ui .students-table .student-row .col-select {
  order: 0;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head .col-profile,
body[data-nav-mode=core] .fto-adm-ui .students-table .student-row .col-profile {
  order: 1;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head .col-email,
body[data-nav-mode=core] .fto-adm-ui .students-table .student-row .col-email {
  order: 2;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head .col-phone,
body[data-nav-mode=core] .fto-adm-ui .students-table .student-row .col-phone {
  order: 3;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head .col-program,
body[data-nav-mode=core] .fto-adm-ui .students-table .student-row .col-program {
  order: 4;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head .col-module,
body[data-nav-mode=core] .fto-adm-ui .students-table .student-row .col-module {
  order: 5;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head .col-status,
body[data-nav-mode=core] .fto-adm-ui .students-table .student-row .col-status {
  order: 6;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head .btn--view,
body[data-nav-mode=core] .fto-adm-ui .students-table .student-row .btn--view {
  order: 7;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=profile]) {
  order: 1;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=email]) {
  order: 2;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=phone]) {
  order: 3;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=program]) {
  order: 4;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=module]) {
  order: 5;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=status]) {
  order: 6;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has(.table-head__label) {
  order: 7;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .col-module {
  justify-self: start !important;
  text-align: left !important;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .col-status {
  display: flex;
  align-items: center;
  justify-content: center;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=profile]),
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=email]),
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=phone]),
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=program]),
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=module]) {
  text-align: left;
  justify-self: start;
  align-items: flex-start;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=profile]) .sa-directory-sort-btn,
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=email]) .sa-directory-sort-btn,
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=phone]) .sa-directory-sort-btn,
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=program]) .sa-directory-sort-btn,
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=module]) .sa-directory-sort-btn {
  justify-content: flex-start;
  width: 100%;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=profile]) .table-head__label,
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=email]) .table-head__label,
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=phone]) .table-head__label,
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=program]) .table-head__label,
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=module]) .table-head__label {
  justify-content: flex-start;
}
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=profile]) .table-head__filter,
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=email]) .table-head__filter,
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=phone]) .table-head__filter,
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=program]) .table-head__filter,
body[data-nav-mode=core] .fto-adm-ui .students-table .table-head > span:has([data-st-sort=module]) .table-head__filter {
  text-align: left;
}
@media (min-width: 992px) {
  body[data-nav-mode=core] .fto-adm-ui .students-table .table-head,
  body[data-nav-mode=core] .fto-adm-ui .students-table .student-row {
    grid-template-columns: minmax(180px, 1.45fr) minmax(0, 1.15fr) minmax(0, 0.95fr) minmax(0, 0.95fr) minmax(0, 1.2fr) minmax(0, 0.85fr) minmax(72px, auto);
    min-width: 1020px;
  }
  body[data-nav-mode=core] .fto-adm-ui .students-table.students-table--export-mode .table-head,
  body[data-nav-mode=core] .fto-adm-ui .students-table.students-table--export-mode .student-row {
    grid-template-columns: 52px minmax(180px, 1.45fr) minmax(0, 1.15fr) minmax(0, 0.95fr) minmax(0, 0.95fr) minmax(0, 1.2fr) minmax(0, 0.85fr) minmax(72px, auto);
    min-width: 1080px;
  }
}
body[data-nav-mode=core] .fto-adm-ui [data-student-col=batch],
body[data-nav-mode=core] .fto-adm-ui [data-student-col=review],
body[data-nav-mode=core] .fto-adm-ui [data-student-col=certificate] {
  display: none !important;
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-programs-table .table-head,
  .fto-adm-ui .fto-programs-table .fto-directory-row.fto-programs-row {
    grid-template-columns: minmax(140px, 1fr) minmax(180px, 1.5fr) minmax(110px, 0.85fr) minmax(90px, 0.7fr) minmax(100px, 0.75fr) 88px;
    min-width: 960px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-programs-table .table-head,
  .fto-adm-ui .fto-programs-table .fto-directory-row.fto-programs-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .fto-programs-table .fto-programs-row__desc {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-programs-table .fto-programs-row__desc {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }
}
.fto-adm-ui .fto-programs-table .col-status {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .fto-programs-table .col-action .btn--view {
  flex-shrink: 0;
}
@media (min-width: 992px) {
  .fto-adm-ui .warnings-cautions-report-table .table-head,
  .fto-adm-ui .warnings-cautions-report-table .fto-directory-row.warnings-cautions-row {
    grid-template-columns: minmax(200px, 1.5fr) minmax(180px, 1.3fr) minmax(120px, 0.75fr) minmax(120px, 0.75fr) 88px;
    min-width: 800px;
  }
  .fto-adm-ui .warnings-cautions-report-table .table-head > span:nth-child(3),
  .fto-adm-ui .warnings-cautions-report-table .table-head > span:nth-child(4) {
    text-align: center;
    justify-self: center;
  }
  .fto-adm-ui .warnings-cautions-report-table .warnings-cautions-row .col-profile {
    justify-self: start;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .warnings-cautions-report-table .table-head,
  .fto-adm-ui .warnings-cautions-report-table .fto-directory-row.warnings-cautions-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .warnings-cautions-report-table .col-warnings,
.fto-adm-ui .warnings-cautions-report-table .col-cautions {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}
.fto-adm-ui .warnings-cautions-report-table .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .warnings-cautions-report-table .col-action .btn--view {
  min-width: 72px;
}
.fto-adm-ui .warnings-cautions-report-list .directory__filter-select {
  min-width: 12rem;
  max-width: 100%;
}
.fto-adm-ui .fto-batches-directory .directory__tools > .sa-directory-select {
  width: 140px;
  min-width: 140px;
  max-width: 140px;
  height: 42px;
  min-height: 42px;
  padding: 0 2rem 0 1rem;
  line-height: 40px;
  box-sizing: border-box;
}
.fto-adm-ui .fto-batches-directory .directory__tools > .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
  margin-left: auto;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-batches-directory .directory__tools {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    row-gap: 0.65rem;
  }
  .fto-adm-ui .fto-batches-directory .directory__tools > .sa-directory-select {
    flex: 1 1 calc(50% - 5px);
    min-width: 0;
    max-width: none;
    width: auto;
  }
  .fto-adm-ui .fto-batches-directory .directory__tools > .directory__search {
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin-left: 0;
  }
}
@media (min-width: 1101px) {
  .fto-adm-ui .fto-batches-table .table-head,
  .fto-adm-ui .fto-batches-table .fto-directory-row.fto-batches-row {
    display: grid;
    align-items: center;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.88fr) minmax(0, 0.82fr) minmax(0, 1.2fr) minmax(108px, 0.95fr) minmax(148px, 168px) 88px;
    column-gap: 1rem;
    min-width: 1180px;
  }
  .fto-adm-ui .fto-batches-table .table-head > span:nth-child(5) .sa-directory-sort-btn {
    max-width: 180px;
    white-space: normal;
    line-height: 1.3;
    text-align: center;
  }
  .fto-adm-ui .fto-batches-table .table-head > span:nth-child(6),
  .fto-adm-ui .fto-batches-table .col-status {
    padding-right: 0.35rem;
  }
  .fto-adm-ui .fto-batches-table .table-head > span:nth-child(7),
  .fto-adm-ui .fto-batches-table .col-action {
    padding-left: 0.35rem;
  }
  .fto-adm-ui .fto-batches-table .fto-batches-row__instructors {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
}
@media (max-width: 1100.98px) {
  .fto-adm-ui .fto-batches-table {
    overflow-x: visible;
  }
  .fto-adm-ui .fto-batches-table .table-head {
    display: none !important;
  }
  .fto-adm-ui .fto-batches-table .table-head,
  .fto-adm-ui .fto-batches-table .fto-directory-row.fto-batches-row {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    grid-template-columns: 1fr !important;
  }
  .fto-adm-ui .fto-batches-table .fto-directory-row.fto-batches-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.7rem;
    padding: 1rem 1.1rem;
    overflow: visible !important;
  }
  .fto-adm-ui .fto-batches-table .fto-directory-row.fto-batches-row > [data-mobile-label] {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 0.85rem;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    text-align: right !important;
    white-space: normal !important;
    overflow: visible !important;
  }
  .fto-adm-ui .fto-batches-table .fto-directory-row.fto-batches-row > [data-mobile-label]::before {
    content: attr(data-mobile-label) !important;
    display: block !important;
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    color: #6b7c93 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em;
    flex: 0 0 auto !important;
    max-width: 42%;
    text-align: left !important;
    line-height: 1.3;
    align-self: center !important;
  }
  .fto-adm-ui .fto-batches-table .fto-directory-row.fto-batches-row > [data-mobile-label].fto-batches-row__instructors {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    column-gap: 0.85rem;
    row-gap: 0.15rem;
    align-items: start !important;
    justify-content: unset !important;
    flex-direction: unset !important;
    text-align: right !important;
  }
  .fto-adm-ui .fto-batches-table .fto-directory-row.fto-batches-row > [data-mobile-label].fto-batches-row__instructors::before {
    grid-column: 1;
    grid-row: 1/span 2;
    align-self: center !important;
    max-width: none;
  }
  .fto-adm-ui .fto-batches-table .fto-directory-row.fto-batches-row > [data-mobile-label].fto-batches-row__instructors > strong,
  .fto-adm-ui .fto-batches-table .fto-directory-row.fto-batches-row > [data-mobile-label].fto-batches-row__instructors > .fto-batches-row__instructor-more {
    grid-column: 2;
    justify-self: end;
    text-align: right !important;
    width: auto;
    max-width: 100%;
  }
  .fto-adm-ui .fto-batches-table .fto-directory-row.fto-batches-row > [data-mobile-label].fto-batches-row__instructors > strong {
    overflow: visible;
    text-overflow: unset;
    white-space: normal;
  }
  .fto-adm-ui .fto-batches-table .fto-directory-row.fto-batches-row > [data-mobile-label].col-status .resources-switch {
    margin-left: auto;
    flex-shrink: 0;
  }
  .fto-adm-ui .fto-batches-table .fto-directory-row.fto-batches-row > [data-mobile-label].col-action {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    text-align: left !important;
    border-top: none;
    padding-top: 0;
  }
  .fto-adm-ui .fto-batches-table .fto-directory-row.fto-batches-row > [data-mobile-label].col-action::before {
    margin-right: 0 !important;
  }
  .fto-adm-ui .fto-batches-table .fto-directory-row.fto-batches-row > [data-mobile-label].col-action .btn--view {
    margin-left: auto !important;
    flex: 0 0 auto !important;
    width: auto !important;
  }
}
.fto-adm-ui .fto-batches-table .fto-batches-row [data-directory-cell=name] {
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .fto-batches-table .fto-batches-row [data-directory-cell=students] {
  font-weight: 600;
  white-space: nowrap;
}
.fto-adm-ui .fto-batches-table .fto-batches-row__instructors {
  min-width: 0;
  max-width: 100%;
  gap: 0.1rem;
}
.fto-adm-ui .fto-batches-table .fto-batches-row__instructors strong {
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.3;
}
.fto-adm-ui .fto-batches-table .fto-batches-row__instructor-more {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.72rem;
  font-weight: 500;
  color: #6b7c93;
  line-height: 1.35;
  cursor: help;
  box-sizing: border-box;
}
.fto-adm-ui .fto-batches-table .col-status {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .fto-batches-table .col-action {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.fto-adm-ui .fto-batches-table .fto-batches-row__status-toggle {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  cursor: pointer;
  margin: 0 auto;
}
.fto-adm-ui .fto-batches-table .fto-batches-row__status-toggle input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.fto-adm-ui .fto-batches-table .fto-batches-row__status-toggle-track {
  position: relative;
  display: block;
  width: 44px;
  height: 24px;
  border-radius: 999px;
  background: #22a06b;
  transition: background 0.2s;
}
.fto-adm-ui .fto-batches-table .fto-batches-row__status-toggle-track::after {
  content: "";
  position: absolute;
  top: 3px;
  right: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 1px 4px rgba(12, 31, 61, 0.2);
  transition: transform 0.2s;
}
.fto-adm-ui .fto-batches-table .fto-batches-row__status-toggle input:not(:checked) + .fto-batches-row__status-toggle-track {
  background: #cbd5e1;
}
.fto-adm-ui .fto-batches-table .fto-batches-row__status-toggle input:not(:checked) + .fto-batches-row__status-toggle-track::after {
  transform: translateX(-20px);
}
.fto-adm-ui .fto-batches-table .col-action .btn--view {
  flex-shrink: 0;
}
.fto-adm-ui .batch-detail-classes-table {
  overflow-x: visible;
  max-width: none;
  width: max-content;
  min-width: 100%;
}
.fto-adm-ui .batch-detail-classes-table .table-head,
.fto-adm-ui .batch-detail-classes-table .fto-directory-row.batch-detail-classes-row {
  display: grid;
  grid-template-columns: 64px minmax(180px, 1.6fr) minmax(110px, 0.9fr) minmax(130px, 1fr) minmax(80px, 0.7fr) minmax(100px, 0.75fr) 72px;
  min-width: 980px;
  width: 100%;
}
.fto-adm-ui .batch-detail-classes-table .col-subject {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  justify-self: stretch;
  width: 100%;
  min-width: 0;
  gap: 0.15rem;
}
.fto-adm-ui .batch-detail-classes-table .col-subject strong {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.3;
}
.fto-adm-ui .batch-detail-classes-table .batch-detail-classes-row__class-name {
  display: block;
  width: 100%;
  min-width: 0;
  margin-top: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.72rem;
  font-weight: 500;
  color: #6b7c93;
  line-height: 1.35;
  cursor: help;
}
.fto-adm-ui .batch-detail-classes-table .col-action .btn--view {
  flex-shrink: 0;
}
.fto-adm-ui .fto-directory-table .cgi-feedback-ratings-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.35rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(31, 65, 105, 0.22) rgba(31, 65, 105, 0.06);
}
.fto-adm-ui .fto-directory-table .cgi-feedback-ratings-scroll::-webkit-scrollbar {
  height: 8px;
}
.fto-adm-ui .fto-directory-table .cgi-feedback-ratings-scroll::-webkit-scrollbar-thumb {
  background: rgba(31, 65, 105, 0.22);
  border-radius: 999px;
}
.fto-adm-ui .fto-directory-table .cgi-feedback-ratings-scroll::-webkit-scrollbar-track {
  background: rgba(31, 65, 105, 0.06);
  border-radius: 999px;
}
.fto-adm-ui .fto-directory-table .cgi-feedback-ratings-scroll .cgi-feedback-ratings-scroll__inner {
  width: max-content;
  min-width: 100%;
}
.fto-adm-ui .fto-directory-table .cgi-feedback-ratings-scroll .table-wrap {
  overflow-x: visible;
  max-width: none;
}
.fto-adm-ui .fto-directory-table .cgi-feedback-ratings-scroll + .list-pagination,
.fto-adm-ui .fto-directory-table .table-wrap + .list-pagination {
  margin-top: 0.85rem;
  width: 100%;
  max-width: 100%;
}
@media (min-width: 992px) {
  .fto-adm-ui .batch-detail-students-table .table-head,
  .fto-adm-ui .batch-detail-students-table .fto-directory-row.batch-detail-students-row {
    grid-template-columns: minmax(180px, 1.4fr) minmax(0, 0.9fr) minmax(0, 0.9fr) minmax(110px, 0.85fr) minmax(120px, 0.8fr) 72px;
    min-width: 960px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .batch-detail-students-table .table-head,
  .fto-adm-ui .batch-detail-students-table .fto-directory-row.batch-detail-students-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .batch-detail-students-table .col-action .btn--view {
  flex-shrink: 0;
}
.fto-adm-ui .batch-detail-students-table .batch-detail-students-row__avatar-wrap,
.fto-adm-ui .batch-detail-instructors-table .batch-detail-students-row__avatar-wrap {
  position: relative;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
}
.fto-adm-ui .batch-detail-students-table .batch-detail-students-row__avatar-wrap img,
.fto-adm-ui .batch-detail-instructors-table .batch-detail-students-row__avatar-wrap img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(12, 31, 61, 0.1);
}
.fto-adm-ui .batch-detail-students-table .batch-detail-students-row__avatar-status,
.fto-adm-ui .batch-detail-instructors-table .batch-detail-students-row__avatar-status {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(12, 31, 61, 0.18);
}
.fto-adm-ui .batch-detail-students-table .batch-detail-students-row__avatar-status--online,
.fto-adm-ui .batch-detail-instructors-table .batch-detail-students-row__avatar-status--online {
  background: #22a06b;
}
.fto-adm-ui .batch-detail-students-table .batch-detail-students-row__avatar-status--offline,
.fto-adm-ui .batch-detail-instructors-table .batch-detail-students-row__avatar-status--offline {
  background: #94a3b8;
}
.fto-adm-ui .batch-detail-students-table .batch-detail-students-row__presence--inactive {
  color: #6b7c93;
}
.fto-adm-ui .batch-detail-students-table .batch-detail-students-row__review-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
}
.fto-adm-ui .batch-detail-students-table .batch-detail-students-row__review-score {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.2;
}
.fto-adm-ui .batch-detail-students-table .batch-detail-students-row__review-score strong {
  font-weight: 700;
  color: inherit;
}
.fto-adm-ui .batch-detail-students-table .batch-detail-students-row__review-score--empty {
  color: #6b7c93;
  font-weight: 600;
}
.fto-adm-ui .batch-detail-students-table .batch-detail-students-row__review-star {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: #f5a623;
}
.fto-adm-ui .batch-detail-students-table .col-status {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 992px) {
  .fto-adm-ui .batch-detail-instructors-table .table-head,
  .fto-adm-ui .batch-detail-instructors-table .fto-directory-row.batch-detail-instructors-row {
    grid-template-columns: minmax(180px, 1.4fr) minmax(0, 1fr) minmax(0, 0.9fr) minmax(0, 0.75fr) minmax(120px, 0.8fr) 72px;
    min-width: 920px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .batch-detail-instructors-table .table-head,
  .fto-adm-ui .batch-detail-instructors-table .fto-directory-row.batch-detail-instructors-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .batch-detail-instructors-table .batch-detail-instructors-row__rating {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .batch-detail-instructors-table .batch-detail-instructors-row__rating svg {
  width: 14px;
  height: 14px;
  color: #f5a623;
  flex-shrink: 0;
}
.fto-adm-ui .batch-detail-instructors-table .col-action .btn--view {
  flex-shrink: 0;
}
.fto-adm-ui .batch-detail-instructors-table .col-status {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .batch-detail-attendance-table {
  overflow-x: visible;
  max-width: none;
}
.fto-adm-ui .batch-detail-attendance-table .table-head,
.fto-adm-ui .batch-detail-attendance-table .fto-directory-row.batch-detail-attendance-row {
  display: grid;
  grid-template-columns: 64px minmax(0, 1.6fr) minmax(0, 1fr) minmax(80px, 0.7fr) minmax(100px, 0.75fr) 72px;
  min-width: 1000px;
}
.fto-adm-ui .batch-detail-attendance-table .col-subject {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  justify-self: stretch;
  width: 100%;
  min-width: 0;
  gap: 0.15rem;
}
.fto-adm-ui .batch-detail-attendance-table .col-subject strong {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.3;
}
.fto-adm-ui .batch-detail-attendance-table .batch-detail-classes-row__class-name {
  display: block;
  width: 100%;
  min-width: 0;
  margin-top: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.72rem;
  font-weight: 500;
  color: #6b7c93;
  line-height: 1.35;
  cursor: help;
}
.fto-adm-ui .batch-detail-attendance-table .col-split-value {
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .batch-detail-attendance-table .col-attendance__of {
  font-weight: 500;
  color: #6b7c93;
}
.fto-adm-ui .batch-detail-attendance-table .col-action .btn--view {
  flex-shrink: 0;
}
.fto-adm-ui .batch-detail-homework-table {
  overflow-x: visible;
  max-width: none;
}
.fto-adm-ui .batch-detail-homework-table .table-body {
  gap: 6px;
}
.fto-adm-ui .batch-detail-homework-table .table-head,
.fto-adm-ui .batch-detail-homework-table .fto-directory-row.batch-detail-homework-row {
  display: grid;
  grid-template-columns: minmax(140px, 1.15fr) minmax(100px, 0.8fr) minmax(120px, 1fr) minmax(72px, 0.5fr) minmax(88px, 0.65fr) minmax(88px, 0.65fr) minmax(72px, 0.5fr) minmax(88px, auto);
  min-width: 980px;
  width: 100%;
  gap: 8px;
  padding: 9px 12px;
}
.fto-adm-ui .batch-detail-homework-table .col-subject {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  justify-self: stretch;
  width: 100%;
  min-width: 0;
  gap: 0.15rem;
}
.fto-adm-ui .batch-detail-homework-table .col-subject strong {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.3;
}
.fto-adm-ui .batch-detail-homework-table .batch-detail-classes-row__class-name {
  display: block;
  width: 100%;
  min-width: 0;
  margin-top: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.72rem;
  font-weight: 500;
  color: #6b7c93;
  line-height: 1.35;
  cursor: help;
}
.fto-adm-ui .batch-detail-homework-table .col-split-value {
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .batch-detail-homework-table .col-attendance__of {
  font-weight: 500;
  color: #6b7c93;
}
.fto-adm-ui .batch-detail-homework-table .col-action .btn--view {
  flex-shrink: 0;
}
@media (min-width: 992px) {
  .fto-adm-ui .batch-detail-exams-table .table-head,
  .fto-adm-ui .batch-detail-exams-table .fto-directory-row.batch-detail-exams-row {
    grid-template-columns: minmax(160px, 1.4fr) minmax(0, 1fr) minmax(0, 1.05fr) minmax(0, 0.7fr) minmax(0, 0.75fr) minmax(0, 0.85fr) minmax(0, 0.85fr) minmax(110px, 0.85fr);
    min-width: 1180px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .batch-detail-exams-table .table-head,
  .fto-adm-ui .batch-detail-exams-table .fto-directory-row.batch-detail-exams-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .batch-detail-exams-table .col-subject {
  justify-self: stretch;
  width: 100%;
  min-width: 0;
}
.fto-adm-ui .batch-detail-exams-table .col-subject strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.3;
}
.fto-adm-ui .batch-detail-exams-table .batch-detail-classes-row__class-name {
  display: block;
  width: 100%;
  min-width: 0;
  margin-top: 0.15rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.72rem;
  font-weight: 500;
  color: #6b7c93;
  line-height: 1.35;
  cursor: help;
}
.fto-adm-ui .batch-detail-exams-table .batch-detail-exams-row__score,
.fto-adm-ui .batch-detail-exams-table .batch-detail-exams-row__pass {
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .batch-detail-exams-table .col-split-value {
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .batch-detail-exams-table .col-attendance__of {
  font-weight: 500;
  color: #6b7c93;
}
.fto-adm-ui .batch-detail-exams-table .col-action .btn--view {
  flex-shrink: 0;
}
@media (min-width: 992px) {
  .fto-adm-ui .batch-detail-reviews-table .table-head,
  .fto-adm-ui .batch-detail-reviews-table .fto-directory-row.batch-detail-reviews-row {
    grid-template-columns: minmax(120px, 1fr) minmax(0, 0.7fr) minmax(140px, 1.2fr) minmax(120px, 1fr) minmax(150px, 1.25fr) minmax(120px, 1fr) minmax(90px, 0.75fr) minmax(130px, 1fr);
    min-width: 1180px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .batch-detail-reviews-table .table-head,
  .fto-adm-ui .batch-detail-reviews-table .fto-directory-row.batch-detail-reviews-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .batch-detail-reviews-table .batch-detail-reviews-row__due {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  line-height: 1.3;
}
.fto-adm-ui .batch-detail-reviews-table .col-status {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .batch-detail-reviews-table .col-action .pr-btn {
  flex-shrink: 0;
  white-space: nowrap;
}
.fto-adm-ui .batch-detail-overview .directory__header--tools-only,
.fto-adm-ui .batch-detail-overview .directory__header--tools-split,
.fto-adm-ui .cgi-tab-panel .directory__header--tools-only,
.fto-adm-ui .cgi-tab-panel .directory__header--tools-split {
  display: flex;
  width: 100%;
}
.fto-adm-ui .batch-detail-overview .directory__header--tools-only,
.fto-adm-ui .cgi-tab-panel .directory__header--tools-only {
  justify-content: flex-end;
}
.fto-adm-ui .batch-detail-overview .directory__header--tools-split,
.fto-adm-ui .cgi-tab-panel .directory__header--tools-split {
  justify-content: flex-start;
}
.fto-adm-ui .batch-detail-overview .directory__header--tools-only .directory__tools,
.fto-adm-ui .batch-detail-overview .directory__header--tools-split .directory__tools,
.fto-adm-ui .cgi-tab-panel .directory__header--tools-only .directory__tools,
.fto-adm-ui .cgi-tab-panel .directory__header--tools-split .directory__tools {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
}
.fto-adm-ui .batch-detail-overview .directory__header--tools-only .directory__tools,
.fto-adm-ui .cgi-tab-panel .directory__header--tools-only .directory__tools {
  justify-content: flex-end;
}
.fto-adm-ui .batch-detail-overview .directory__header--tools-split .directory__tools,
.fto-adm-ui .cgi-tab-panel .directory__header--tools-split .directory__tools {
  justify-content: space-between;
}
.fto-adm-ui .batch-detail-overview .directory__tools-end,
.fto-adm-ui .cgi-tab-panel .directory__tools-end {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-left: auto;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
}
.fto-adm-ui .batch-detail-overview .directory__header--tools-only .directory__search,
.fto-adm-ui .batch-detail-overview .directory__header--tools-split .directory__search,
.fto-adm-ui .batch-detail-overview .directory__tools-end .directory__search,
.fto-adm-ui .cgi-tab-panel .directory__header--tools-only .directory__search,
.fto-adm-ui .cgi-tab-panel .directory__header--tools-split .directory__search,
.fto-adm-ui .cgi-tab-panel .directory__tools-end .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
  margin-left: 0;
}
.fto-adm-ui .batch-detail-overview .directory__header--tools-only .btn--filter,
.fto-adm-ui .batch-detail-overview .directory__header--tools-only .btn--primary,
.fto-adm-ui .batch-detail-overview .directory__header--tools-only .btn--export,
.fto-adm-ui .batch-detail-overview .directory__header--tools-split .btn--filter,
.fto-adm-ui .batch-detail-overview .directory__header--tools-split .btn--primary,
.fto-adm-ui .batch-detail-overview .directory__header--tools-split .btn--export,
.fto-adm-ui .batch-detail-overview .directory__tools-end .btn--primary,
.fto-adm-ui .batch-detail-overview .directory__tools-end .btn--export,
.fto-adm-ui .batch-detail-overview .directory__tools-end .cgi-details-btn,
.fto-adm-ui .cgi-tab-panel .directory__header--tools-only .btn--filter,
.fto-adm-ui .cgi-tab-panel .directory__header--tools-only .btn--primary,
.fto-adm-ui .cgi-tab-panel .directory__header--tools-only .btn--export,
.fto-adm-ui .cgi-tab-panel .directory__header--tools-split .btn--filter,
.fto-adm-ui .cgi-tab-panel .directory__header--tools-split .btn--primary,
.fto-adm-ui .cgi-tab-panel .directory__header--tools-split .btn--export,
.fto-adm-ui .cgi-tab-panel .directory__tools-end .btn--primary,
.fto-adm-ui .cgi-tab-panel .directory__tools-end .btn--export,
.fto-adm-ui .cgi-tab-panel .directory__tools-end .cgi-details-btn {
  flex-shrink: 0;
  white-space: nowrap;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .batch-detail-overview .directory__header--tools-only .directory__tools,
  .fto-adm-ui .batch-detail-overview .directory__header--tools-split .directory__tools,
  .fto-adm-ui .cgi-tab-panel .directory__header--tools-only .directory__tools,
  .fto-adm-ui .cgi-tab-panel .directory__header--tools-split .directory__tools {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 10px;
  }
  .fto-adm-ui .batch-detail-overview .directory__tools-end,
  .fto-adm-ui .cgi-tab-panel .directory__tools-end {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 10px;
    margin-left: 0;
    width: 100%;
  }
  .fto-adm-ui .batch-detail-overview .directory__header--tools-only .directory__search,
  .fto-adm-ui .batch-detail-overview .directory__header--tools-split .directory__search,
  .fto-adm-ui .batch-detail-overview .directory__tools-end .directory__search,
  .fto-adm-ui .cgi-tab-panel .directory__header--tools-only .directory__search,
  .fto-adm-ui .cgi-tab-panel .directory__header--tools-split .directory__search,
  .fto-adm-ui .cgi-tab-panel .directory__tools-end .directory__search {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    max-width: none;
  }
  .fto-adm-ui .batch-detail-overview .directory__header--tools-only .btn--filter,
  .fto-adm-ui .batch-detail-overview .directory__header--tools-split .btn--filter,
  .fto-adm-ui .batch-detail-overview .directory__tools-end .btn--primary,
  .fto-adm-ui .batch-detail-overview .directory__tools-end .btn--export,
  .fto-adm-ui .batch-detail-overview .directory__tools-end .btn-export,
  .fto-adm-ui .batch-detail-overview .directory__tools-end .cgi-details-btn,
  .fto-adm-ui .cgi-tab-panel .directory__header--tools-only .btn--filter,
  .fto-adm-ui .cgi-tab-panel .directory__header--tools-split .btn--filter,
  .fto-adm-ui .cgi-tab-panel .directory__tools-end .btn--primary,
  .fto-adm-ui .cgi-tab-panel .directory__tools-end .btn--export,
  .fto-adm-ui .cgi-tab-panel .directory__tools-end .btn-export,
  .fto-adm-ui .cgi-tab-panel .directory__tools-end .cgi-details-btn {
    width: 100%;
  }
}
.fto-adm-ui .batch-detail-tab__toolbar .batch-detail-tab__tools {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-shrink: 0;
  margin-left: auto;
}
.fto-adm-ui .batch-detail-tab__toolbar .batch-detail-tab__tools .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}
.fto-adm-ui .batch-detail-tab__toolbar .batch-detail-tab__tools .btn--filter,
.fto-adm-ui .batch-detail-tab__toolbar .batch-detail-tab__tools .btn--export,
.fto-adm-ui .batch-detail-tab__toolbar .batch-detail-tab__tools .btn--assign-batch {
  flex-shrink: 0;
  white-space: nowrap;
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-classrooms-table .table-head,
  .fto-adm-ui .fto-classrooms-table .fto-directory-row.fto-classrooms-row {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.75fr) minmax(0, 0.55fr) minmax(0, 0.65fr) minmax(0, 1fr) minmax(280px, auto);
    min-width: 1080px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-classrooms-table .table-head,
  .fto-adm-ui .fto-classrooms-table .fto-directory-row.fto-classrooms-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .fto-classrooms-table .fto-classrooms-row [data-directory-cell=name] {
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .fto-classrooms-table .fto-classrooms-row [data-directory-cell=capacity] {
  font-weight: 600;
}
.fto-adm-ui .fto-classrooms-table .col-status {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .fto-classrooms-table .fto-classrooms-row__schedule {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-classrooms-table .fto-classrooms-row__schedule {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }
}
.fto-adm-ui .fto-classrooms-table .col-action {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.fto-adm-ui .fto-classrooms-table .fto-classrooms-row__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.45rem;
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-lesson-plans-table .table-head,
  .fto-adm-ui .fto-lesson-plans-table .fto-directory-row.fto-lesson-plans-row {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.35fr) minmax(0, 0.7fr) minmax(0, 0.75fr) minmax(0, 0.65fr) minmax(0, 0.7fr) minmax(110px, 0.75fr) minmax(150px, auto);
    min-width: 1080px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-lesson-plans-table .table-head,
  .fto-adm-ui .fto-lesson-plans-table .fto-directory-row.fto-lesson-plans-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .fto-lesson-plans-table .fto-lesson-plans-row {
  align-items: center;
}
.fto-adm-ui .fto-lesson-plans-table .fto-lesson-plans-row [data-directory-cell=program],
.fto-adm-ui .fto-lesson-plans-table .fto-lesson-plans-row [data-directory-cell=classes],
.fto-adm-ui .fto-lesson-plans-table .fto-lesson-plans-row [data-directory-cell=homework],
.fto-adm-ui .fto-lesson-plans-table .fto-lesson-plans-row [data-directory-cell=exams] {
  font-weight: 600;
}
.fto-adm-ui .fto-lesson-plans-table .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .fto-lesson-plans-table .fto-lesson-plans-row__actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-left: auto;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-lesson-plans-table .col-action {
    justify-content: space-between;
  }
  .fto-adm-ui .fto-lesson-plans-table .fto-lesson-plans-row__actions {
    margin-left: auto;
  }
  .fto-adm-ui .fto-lesson-plans-table .col-action .btn--view {
    margin-left: 0 !important;
    flex: 0 0 auto;
    width: auto;
  }
}
.fto-adm-ui .fto-assessments-homework-directory .directory__tools > .sa-directory-select {
  width: 140px;
  min-width: 140px;
  max-width: 140px;
  height: 42px;
  min-height: 42px;
  padding: 0 2rem 0 1rem;
  line-height: 40px;
  box-sizing: border-box;
}
.fto-adm-ui .fto-assessments-homework-directory .directory__tools > .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
  margin-left: auto;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-assessments-homework-directory .directory__tools > .directory__search {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin-left: 0;
  }
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-assessments-homework-table .table-head,
  .fto-adm-ui .fto-assessments-homework-table .fto-directory-row.fto-assessments-homework-row {
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, 0.75fr) minmax(0, 0.75fr) minmax(0, 0.85fr) minmax(0, 0.85fr) minmax(0, 0.7fr) minmax(72px, auto);
    min-width: 1040px;
  }
  .fto-adm-ui .fto-assessments-homework-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-assessments-homework-table .fto-assessments-homework-row__title {
    justify-self: start !important;
    text-align: left !important;
  }
  .fto-adm-ui .fto-assessments-homework-table .table-head > span:not(:first-child),
  .fto-adm-ui .fto-assessments-homework-table .fto-directory-row.fto-assessments-homework-row > :not(:first-child) {
    justify-self: center !important;
    text-align: center !important;
  }
  .fto-adm-ui .fto-assessments-homework-table .table-head > span:not(:first-child) {
    text-align: center;
    justify-self: center;
    align-items: center;
  }
  .fto-adm-ui .fto-assessments-homework-table .table-head > span:not(:first-child) .sa-directory-sort-btn {
    justify-content: center;
    width: 100%;
  }
  .fto-adm-ui .fto-assessments-homework-table .table-head > span:not(:first-child) .table-head__label {
    justify-content: center;
  }
  .fto-adm-ui .fto-assessments-homework-table .table-head > span:not(:first-child) .table-head__filter {
    text-align: center;
  }
  .fto-adm-ui .fto-assessments-homework-table .table-head > span:first-child {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .fto-adm-ui .fto-assessments-homework-table .table-head > span:first-child .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .fto-adm-ui .fto-assessments-homework-table .table-head > span:first-child .table-head__label {
    justify-content: flex-start;
  }
  .fto-adm-ui .fto-assessments-homework-table .table-head > span:first-child .table-head__filter {
    text-align: left;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-assessments-homework-table .table-head,
  .fto-adm-ui .fto-assessments-homework-table .fto-directory-row.fto-assessments-homework-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .fto-assessments-homework-table .fto-assessments-homework-row__title {
  min-width: 0;
}
.fto-adm-ui .fto-assessments-homework-table .fto-assessments-homework-row__title strong {
  display: block;
  color: #1a2b42;
  font-weight: 700;
}
.fto-adm-ui .fto-assessments-homework-table .fto-assessments-homework-row__meta {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6b7c93;
  line-height: 1.3;
}
.fto-adm-ui .fto-assessments-homework-table .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: nowrap;
}
.fto-adm-ui .fto-assessments-homework-lp-directory .directory__header--tools-split .directory__tools {
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.fto-adm-ui .fto-assessments-homework-lp-directory .directory__header--tools-split .directory__tools-end {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  width: auto;
  max-width: 100%;
  margin-left: auto;
}
.fto-adm-ui .fto-assessments-homework-lp-directory .directory__header--tools-split .directory__tools-end .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}
.fto-adm-ui .fto-assessments-homework-lp-directory .directory__header--tools-split .directory__tools-end .btn--primary {
  width: auto;
  flex-shrink: 0;
  justify-content: center;
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head,
  .fto-adm-ui .fto-assessments-homework-lp-table .fto-directory-row.fto-assessments-homework-lp-row {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.6fr) minmax(0, 1.2fr) minmax(0, 0.7fr) minmax(160px, auto);
    min-width: 900px;
  }
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head > span:nth-child(2),
  .fto-adm-ui .fto-assessments-homework-lp-table .fto-directory-row.fto-assessments-homework-lp-row > :nth-child(1),
  .fto-adm-ui .fto-assessments-homework-lp-table .fto-directory-row.fto-assessments-homework-lp-row > :nth-child(2) {
    justify-self: start !important;
    text-align: left !important;
  }
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head > span:nth-child(n+3),
  .fto-adm-ui .fto-assessments-homework-lp-table .fto-directory-row.fto-assessments-homework-lp-row > :nth-child(n+3) {
    justify-self: center !important;
    text-align: center !important;
  }
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head > span:nth-child(n+3) {
    text-align: center;
    justify-self: center;
    align-items: center;
  }
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head > span:nth-child(n+3) .sa-directory-sort-btn {
    justify-content: center;
    width: 100%;
  }
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head > span:nth-child(n+3) .table-head__label {
    justify-content: center;
  }
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head > span:nth-child(n+3) .table-head__filter {
    text-align: center;
  }
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head > span:nth-child(2) {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head > span:nth-child(1) .sa-directory-sort-btn,
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head > span:nth-child(2) .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head > span:nth-child(1) .table-head__label,
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head > span:nth-child(2) .table-head__label {
    justify-content: flex-start;
  }
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head > span:nth-child(1) .table-head__filter,
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head > span:nth-child(2) .table-head__filter {
    text-align: left;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-assessments-homework-lp-table .table-head,
  .fto-adm-ui .fto-assessments-homework-lp-table .fto-directory-row.fto-assessments-homework-lp-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .fto-assessments-homework-lp-table .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-assessments-homework-templates-table .table-head,
  .fto-adm-ui .fto-assessments-homework-templates-table .fto-directory-row.fto-assessments-homework-templates-row {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.8fr) minmax(0, 0.85fr) minmax(0, 0.85fr) minmax(160px, auto);
    min-width: 900px;
  }
  .fto-adm-ui .fto-assessments-homework-templates-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-assessments-homework-templates-table .fto-directory-row.fto-assessments-homework-templates-row > :nth-child(1) {
    justify-self: start !important;
    text-align: left !important;
  }
  .fto-adm-ui .fto-assessments-homework-templates-table .table-head > span:not(:first-child),
  .fto-adm-ui .fto-assessments-homework-templates-table .fto-directory-row.fto-assessments-homework-templates-row > :not(:first-child) {
    justify-self: center !important;
    text-align: center !important;
  }
  .fto-adm-ui .fto-assessments-homework-templates-table .table-head > span:not(:first-child) {
    text-align: center;
    justify-self: center;
    align-items: center;
  }
  .fto-adm-ui .fto-assessments-homework-templates-table .table-head > span:not(:first-child) .sa-directory-sort-btn {
    justify-content: center;
    width: 100%;
  }
  .fto-adm-ui .fto-assessments-homework-templates-table .table-head > span:not(:first-child) .table-head__label {
    justify-content: center;
  }
  .fto-adm-ui .fto-assessments-homework-templates-table .table-head > span:not(:first-child) .table-head__filter {
    text-align: center;
  }
  .fto-adm-ui .fto-assessments-homework-templates-table .table-head > span:first-child {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .fto-adm-ui .fto-assessments-homework-templates-table .table-head > span:first-child .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .fto-adm-ui .fto-assessments-homework-templates-table .table-head > span:first-child .table-head__label {
    justify-content: flex-start;
  }
  .fto-adm-ui .fto-assessments-homework-templates-table .table-head > span:first-child .table-head__filter {
    text-align: left;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-assessments-homework-templates-table .table-head,
  .fto-adm-ui .fto-assessments-homework-templates-table .fto-directory-row.fto-assessments-homework-templates-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .fto-assessments-homework-templates-table .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}
.fto-adm-ui .homework-page-tabs {
  flex-wrap: wrap;
}
.fto-adm-ui .fto-assessments-exams-directory .directory__tools > .sa-directory-select {
  width: 140px;
  min-width: 140px;
  max-width: 140px;
  height: 42px;
  min-height: 42px;
  padding: 0 2rem 0 1rem;
  line-height: 40px;
  box-sizing: border-box;
}
.fto-adm-ui .fto-assessments-exams-directory .directory__tools > .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
  margin-left: auto;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-assessments-exams-directory .directory__tools > .directory__search {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin-left: 0;
  }
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-assessments-exams-table .table-head,
  .fto-adm-ui .fto-assessments-exams-table .fto-directory-row.fto-assessments-exams-row {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 0.8fr) minmax(0, 0.75fr) minmax(0, 0.75fr) minmax(0, 0.75fr) minmax(0, 0.55fr) minmax(0, 0.65fr) minmax(0, 0.65fr) minmax(72px, auto);
    min-width: 1180px;
  }
  .fto-adm-ui .fto-assessments-exams-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-assessments-exams-table .fto-assessments-exams-row__title {
    justify-self: start !important;
    text-align: left !important;
  }
  .fto-adm-ui .fto-assessments-exams-table .table-head > span:not(:first-child),
  .fto-adm-ui .fto-assessments-exams-table .fto-directory-row.fto-assessments-exams-row > :not(:first-child) {
    justify-self: center !important;
    text-align: center !important;
  }
  .fto-adm-ui .fto-assessments-exams-table .table-head > span:not(:first-child) {
    text-align: center;
    justify-self: center;
    align-items: center;
  }
  .fto-adm-ui .fto-assessments-exams-table .table-head > span:not(:first-child) .sa-directory-sort-btn {
    justify-content: center;
    width: 100%;
  }
  .fto-adm-ui .fto-assessments-exams-table .table-head > span:not(:first-child) .table-head__label {
    justify-content: center;
  }
  .fto-adm-ui .fto-assessments-exams-table .table-head > span:not(:first-child) .table-head__filter {
    text-align: center;
  }
  .fto-adm-ui .fto-assessments-exams-table .table-head > span:first-child {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .fto-adm-ui .fto-assessments-exams-table .table-head > span:first-child .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .fto-adm-ui .fto-assessments-exams-table .table-head > span:first-child .table-head__label {
    justify-content: flex-start;
  }
  .fto-adm-ui .fto-assessments-exams-table .table-head > span:first-child .table-head__filter {
    text-align: left;
  }
  .fto-adm-ui .fto-assessments-exams-table .table-head .sa-directory-sort-btn {
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .fto-adm-ui .fto-assessments-exams-table .table-head .table-head__label {
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-assessments-exams-table .table-head,
  .fto-adm-ui .fto-assessments-exams-table .fto-directory-row.fto-assessments-exams-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .fto-assessments-exams-table .fto-assessments-exams-row__title {
  min-width: 0;
}
.fto-adm-ui .fto-assessments-exams-table .fto-assessments-exams-row__title strong {
  display: block;
  color: #1a2b42;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fto-adm-ui .fto-assessments-exams-table .fto-directory-row.fto-assessments-exams-row {
  padding: 14px 16px;
  align-items: center;
}
.fto-adm-ui .fto-assessments-exams-table .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: nowrap;
  min-height: 34px;
}
.fto-adm-ui .fto-assessments-exams-table .col-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fto-adm-ui .fto-assessments-exams-lp-directory .directory__header--tools-split .directory__tools {
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.fto-adm-ui .fto-assessments-exams-lp-directory .directory__header--tools-split .directory__tools-end {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  width: auto;
  max-width: 100%;
  margin-left: auto;
}
.fto-adm-ui .fto-assessments-exams-lp-directory .directory__header--tools-split .directory__tools-end .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}
.fto-adm-ui .fto-assessments-exams-lp-directory .directory__header--tools-split .directory__tools-end .btn--primary {
  width: auto;
  flex-shrink: 0;
  justify-content: center;
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head,
  .fto-adm-ui .fto-assessments-exams-lp-table .fto-directory-row.fto-assessments-exams-lp-row {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.6fr) minmax(0, 1.2fr) minmax(0, 0.9fr) minmax(160px, auto);
    min-width: 900px;
  }
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head > span:nth-child(2),
  .fto-adm-ui .fto-assessments-exams-lp-table .fto-directory-row.fto-assessments-exams-lp-row > :nth-child(1),
  .fto-adm-ui .fto-assessments-exams-lp-table .fto-directory-row.fto-assessments-exams-lp-row > :nth-child(2) {
    justify-self: start !important;
    text-align: left !important;
  }
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head > span:nth-child(n+3),
  .fto-adm-ui .fto-assessments-exams-lp-table .fto-directory-row.fto-assessments-exams-lp-row > :nth-child(n+3) {
    justify-self: center !important;
    text-align: center !important;
  }
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head > span:nth-child(n+3) {
    text-align: center;
    justify-self: center;
    align-items: center;
  }
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head > span:nth-child(n+3) .sa-directory-sort-btn {
    justify-content: center;
    width: 100%;
  }
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head > span:nth-child(n+3) .table-head__label {
    justify-content: center;
  }
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head > span:nth-child(n+3) .table-head__filter {
    text-align: center;
  }
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head > span:nth-child(2) {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head > span:nth-child(1) .sa-directory-sort-btn,
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head > span:nth-child(2) .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head > span:nth-child(1) .table-head__label,
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head > span:nth-child(2) .table-head__label {
    justify-content: flex-start;
  }
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head > span:nth-child(1) .table-head__filter,
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head > span:nth-child(2) .table-head__filter {
    text-align: left;
  }
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head .sa-directory-sort-btn {
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-assessments-exams-lp-table .table-head,
  .fto-adm-ui .fto-assessments-exams-lp-table .fto-directory-row.fto-assessments-exams-lp-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .fto-assessments-exams-lp-table .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: nowrap;
}
.fto-adm-ui .fto-assessments-exams-templates-directory .directory__header--tools-split .directory__tools {
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
}
.fto-adm-ui .fto-assessments-exams-templates-directory .directory__header--tools-split .directory__tools-end {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  width: auto;
  max-width: 100%;
  margin-left: auto;
  flex: 0 0 auto;
}
.fto-adm-ui .fto-assessments-exams-templates-directory .directory__header--tools-split .directory__tools-end .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}
.fto-adm-ui .fto-assessments-exams-templates-directory .directory__header--tools-split .directory__tools-end .btn--primary {
  width: auto;
  flex-shrink: 0;
  justify-content: center;
  white-space: nowrap;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-assessments-exams-templates-directory .directory__header--tools-split .directory__tools {
    flex-wrap: wrap;
    align-items: stretch;
  }
  .fto-adm-ui .fto-assessments-exams-templates-directory .directory__header--tools-split .directory__tools-end {
    width: 100%;
    margin-left: 0;
    flex-wrap: wrap;
  }
  .fto-adm-ui .fto-assessments-exams-templates-directory .directory__header--tools-split .directory__tools-end .directory__search,
  .fto-adm-ui .fto-assessments-exams-templates-directory .directory__header--tools-split .directory__tools-end .btn--primary {
    width: 100%;
    max-width: none;
    flex: 1 1 100%;
  }
}
@media (min-width: 1101px) {
  .fto-adm-ui .fto-assessments-exams-templates-table .table-head,
  .fto-adm-ui .fto-assessments-exams-templates-table .fto-directory-row.fto-assessments-exams-templates-row {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.9fr) minmax(0, 0.85fr) minmax(0, 0.85fr) minmax(280px, auto);
    min-width: 1000px;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-assessments-exams-templates-table .fto-directory-row.fto-assessments-exams-templates-row > :nth-child(1) {
    justify-self: start !important;
    text-align: left !important;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .table-head > span:not(:first-child),
  .fto-adm-ui .fto-assessments-exams-templates-table .fto-directory-row.fto-assessments-exams-templates-row > :not(:first-child) {
    justify-self: center !important;
    text-align: center !important;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .table-head > span:not(:first-child) {
    text-align: center;
    justify-self: center;
    align-items: center;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .table-head > span:not(:first-child) .sa-directory-sort-btn {
    justify-content: center;
    width: 100%;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .table-head > span:not(:first-child) .table-head__label {
    justify-content: center;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .table-head > span:not(:first-child) .table-head__filter {
    text-align: center;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .table-head > span:first-child {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .table-head > span:first-child .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .table-head > span:first-child .table-head__label {
    justify-content: flex-start;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .table-head > span:first-child .table-head__filter {
    text-align: left;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .table-head .sa-directory-sort-btn {
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}
@media (max-width: 1100.98px) {
  .fto-adm-ui .fto-assessments-exams-templates-table {
    overflow-x: visible;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .table-head {
    display: none !important;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .table-head,
  .fto-adm-ui .fto-assessments-exams-templates-table .fto-directory-row.fto-assessments-exams-templates-row {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    grid-template-columns: 1fr !important;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .fto-directory-row.fto-assessments-exams-templates-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .fto-directory-row.fto-assessments-exams-templates-row > .col-action[data-mobile-label] {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 0.5rem;
    width: 100% !important;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .fto-directory-row.fto-assessments-exams-templates-row > .col-action[data-mobile-label]::before {
    margin-right: 0 !important;
    flex: 0 0 auto !important;
    max-width: 30%;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .fto-directory-row.fto-assessments-exams-templates-row > .col-action[data-mobile-label] .col-action__tools {
    margin-left: auto;
    justify-content: flex-end;
    flex-wrap: wrap;
    max-width: 70%;
  }
  .fto-adm-ui .fto-assessments-exams-templates-table .fto-directory-row.fto-assessments-exams-templates-row > .col-action[data-mobile-label] .btn--view {
    margin-left: 0 !important;
  }
}
.fto-adm-ui .fto-assessments-exams-templates-table .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: nowrap;
}
.fto-adm-ui .fto-assessments-exams-templates-table .col-action .col-action__tools {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex: 0 0 auto;
  min-width: 0;
  max-width: 100%;
}
.fto-adm-ui .fto-assessments-exams-templates-table .col-action .btn-export {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none;
  height: auto;
  min-height: 0;
  padding: 8px 14px;
  font-size: 12px;
  line-height: 1.2;
  gap: 0.25rem;
}
.fto-adm-ui .fto-assessments-exams-templates-table .col-action .btn-export .bi {
  font-size: 0.85em;
}
.fto-adm-ui .fto-assessments-exams-templates-table .col-action .btn--view {
  flex: 0 0 auto !important;
  width: auto !important;
  padding: 8px 16px;
  font-size: 12px;
  line-height: 1.2;
}
.fto-adm-ui .fto-assessments-exams-templates-table .col-action .row-dropdown {
  flex: 0 0 auto;
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-assessments-dgca-table .table-head,
  .fto-adm-ui .fto-assessments-dgca-table .fto-directory-row.fto-assessments-dgca-row {
    grid-template-columns: minmax(0, 1.65fr) minmax(0, 0.55fr) minmax(0, 0.65fr) minmax(0, 0.6fr) minmax(0, 0.55fr) minmax(0, 0.55fr) minmax(180px, auto);
    min-width: 920px;
  }
  .fto-adm-ui .fto-assessments-dgca-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-assessments-dgca-table .fto-assessments-dgca-row__subject {
    justify-self: start;
    text-align: left;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-assessments-dgca-table .table-head,
  .fto-adm-ui .fto-assessments-dgca-table .fto-directory-row.fto-assessments-dgca-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .fto-assessments-dgca-table .fto-assessments-dgca-row__subject {
  min-width: 0;
}
.fto-adm-ui .fto-assessments-dgca-table .fto-assessments-dgca-row__subject strong {
  display: block;
  color: #1a2b42;
  font-weight: 700;
}
.fto-adm-ui .fto-assessments-dgca-table .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: nowrap;
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-assessments-question-papers-table .table-head,
  .fto-adm-ui .fto-assessments-question-papers-table .fto-directory-row.fto-assessments-question-papers-row {
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 0.55fr) minmax(0, 0.55fr) minmax(0, 1fr) minmax(120px, auto);
    min-width: 0;
    width: 100%;
  }
  .fto-adm-ui .fto-assessments-question-papers-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-assessments-question-papers-table .fto-assessments-question-papers-row__title {
    justify-self: start;
    text-align: left;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-assessments-question-papers-table .table-head,
  .fto-adm-ui .fto-assessments-question-papers-table .fto-directory-row.fto-assessments-question-papers-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .fto-assessments-question-papers-table .fto-assessments-question-papers-row__title {
  min-width: 0;
}
.fto-adm-ui .fto-assessments-question-papers-table .fto-assessments-question-papers-row__title strong {
  display: block;
  color: #1a2b42;
  font-weight: 700;
}
.fto-adm-ui .fto-assessments-question-papers-table .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: nowrap;
  width: 100%;
  min-width: 0;
}
.fto-adm-ui .fto-assessments-question-papers-table .resources-action {
  flex-shrink: 0;
  text-decoration: none;
}
.fto-adm-ui .fto-assessments-question-papers-table .resources-action i {
  font-size: 1rem;
  color: #0c1f3d;
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-assessments-templates-table .table-head,
  .fto-adm-ui .fto-assessments-templates-table .fto-directory-row.fto-assessments-templates-row {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.72fr) minmax(0, 1.25fr) minmax(300px, auto);
    min-width: 920px;
  }
  .fto-adm-ui .fto-assessments-templates-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-assessments-templates-table .fto-assessments-templates-row__title {
    justify-self: start;
    text-align: left;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-assessments-templates-table .table-head,
  .fto-adm-ui .fto-assessments-templates-table .fto-directory-row.fto-assessments-templates-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .fto-assessments-templates-table .fto-assessments-templates-row__title {
  min-width: 0;
}
.fto-adm-ui .fto-assessments-templates-table .fto-assessments-templates-row__title strong {
  display: block;
  color: #1a2b42;
  font-weight: 700;
}
.fto-adm-ui .fto-assessments-templates-table .fto-assessments-templates-row__description {
  min-width: 0;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}
.fto-adm-ui .fto-assessments-templates-table .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: wrap;
  width: 100%;
}
.fto-adm-ui .fto-assessments-templates-table .col-action .btn--primary.btn--sm {
  font-size: 12px;
  padding: 8px 14px;
}
.fto-adm-ui .fto-assessments-templates-table .col-action .btn--secondary.btn--sm {
  font-size: 12px;
  padding: 8px 14px;
}
.fto-adm-ui .fto-assessments-templates-table .resources-action {
  flex-shrink: 0;
}
.fto-adm-ui .fto-assessments-templates-table .resources-action i {
  font-size: 1rem;
  color: #0c1f3d;
}
.fto-adm-ui .fto-assessments-templates-table .resources-action--danger i {
  color: #F15B55;
}
.fto-adm-ui .fto-adm-ui .directory .assessment-template-tabs {
  margin-bottom: 1rem;
}
@media (min-width: 1101px) {
  .fto-adm-ui .fto-notifications-table .table-head,
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.1fr) minmax(0, 1.15fr) minmax(0, 0.85fr) minmax(0, 0.75fr) minmax(56px, 72px);
    min-width: 820px;
  }
  .fto-adm-ui .fto-notifications-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-notifications-table .fto-notifications-row__title {
    justify-self: start;
    text-align: left;
  }
  .fto-adm-ui .fto-notifications-table .table-head > span:last-child,
  .fto-adm-ui .fto-notifications-table .fto-notifications-row > .col-action {
    justify-self: center;
  }
  .fto-adm-ui .fto-notifications-table .fto-notifications-row__date {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .fto-adm-ui .fto-notifications-table .fto-notifications-row__title {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    white-space: nowrap;
  }
}
@media (max-width: 1100.98px) {
  .fto-adm-ui .fto-notifications-table {
    overflow-x: visible;
  }
  .fto-adm-ui .fto-notifications-table .table-head {
    display: none !important;
  }
  .fto-adm-ui .fto-notifications-table .table-head,
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    grid-template-columns: 1fr !important;
  }
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.7rem;
    padding: 1rem 1.1rem;
    overflow: visible !important;
  }
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label] {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 0.85rem;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    text-align: right !important;
    white-space: normal !important;
    overflow: visible !important;
  }
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label]::before {
    content: attr(data-mobile-label) !important;
    display: block !important;
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    color: #6b7c93 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em;
    flex: 0 0 auto !important;
    max-width: 42%;
    text-align: left !important;
    line-height: 1.3;
    align-self: center !important;
  }
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label].fto-notifications-row__title {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    column-gap: 0.85rem;
    align-items: start !important;
    justify-content: unset !important;
    flex-direction: unset !important;
    flex-wrap: unset !important;
    white-space: normal !important;
    padding-inline: 0;
  }
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label].fto-notifications-row__title::before {
    grid-column: 1;
    align-self: start !important;
    padding-top: 0.15rem;
    max-width: none;
  }
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label].fto-notifications-row__title strong,
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label].fto-notifications-row__title .fto-notifications-row__warn {
    grid-column: 2;
    justify-self: end;
    text-align: right !important;
  }
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label].fto-notifications-row__title strong {
    width: 100%;
    overflow: visible;
    text-overflow: unset;
    white-space: normal;
  }
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label].fto-notifications-row__title .fto-notifications-row__warn {
    margin-top: 0.25rem;
  }
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label].fto-notifications-row__date {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    column-gap: 0.85rem;
    row-gap: 0.1rem;
    align-items: start !important;
    justify-content: unset !important;
    flex-direction: unset !important;
    text-align: right !important;
  }
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label].fto-notifications-row__date::before {
    grid-column: 1;
    grid-row: 1/span 2;
    align-self: center !important;
    max-width: none;
  }
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label].fto-notifications-row__date > span,
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label].fto-notifications-row__date > small {
    grid-column: 2;
    justify-self: end;
    text-align: right !important;
    width: auto;
    max-width: 100%;
  }
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label][data-directory-cell=type] .notify-type,
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label][data-directory-cell=type] .badge,
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label][data-directory-cell=status] .notify-type,
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label][data-directory-cell=status] .badge {
    margin-left: auto;
    flex-shrink: 0;
  }
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label].col-action {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    text-align: left !important;
    border-top: none;
    padding-top: 0;
  }
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label].col-action::before {
    margin-right: 0 !important;
  }
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label].col-action .resources-action,
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row > [data-mobile-label].col-action .fto-notifications-row__action-empty {
    margin-left: auto;
    flex: 0 0 auto;
  }
}
.fto-adm-ui .fto-notifications-table .fto-notifications-row__title {
  min-width: 0;
  gap: 0.45rem 0.65rem;
  overflow: visible;
  text-overflow: unset;
  padding-block: 0.15rem;
  padding-inline: 0.15rem 0.35rem;
}
.fto-adm-ui .fto-notifications-table .fto-notifications-row__title strong {
  display: block;
  color: #1a2b42;
  font-weight: 700;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row {
  overflow: visible;
}
.fto-adm-ui .fto-notifications-table .fto-notifications-row__warn {
  flex-shrink: 0;
  box-sizing: border-box;
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: visible;
  transform-origin: center;
  animation: fto-notify-warn-pulse 1s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .fto-adm-ui .fto-notifications-table .fto-notifications-row__warn {
    animation: none;
  }
}
.fto-adm-ui .fto-notifications-table .fto-notifications-row__date {
  gap: 0.1rem;
  line-height: 1.3;
}
.fto-adm-ui .fto-notifications-table .fto-notifications-row__date small {
  font-size: 0.72rem;
  color: #6b7c93;
  font-weight: 500;
}
.fto-adm-ui .fto-notifications-table .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: wrap;
  width: 100%;
}
.fto-adm-ui .fto-notifications-table .col-action .btn--secondary.btn--sm,
.fto-adm-ui .fto-notifications-table .col-action .btn--primary.btn--sm {
  font-size: 12px;
  padding: 8px 14px;
}
@media (min-width: 1101px) and (max-width: 1500px) {
  .fto-adm-ui .fto-notifications-table .table-head,
  .fto-adm-ui .fto-notifications-table .fto-directory-row.fto-notifications-row {
    min-width: 1120px;
    grid-template-columns: minmax(260px, 1.5fr) minmax(160px, 1.05fr) minmax(200px, 1.15fr) minmax(145px, 0.85fr) minmax(120px, 0.72fr) minmax(76px, 92px);
  }
}
@media (max-width: 1100.98px) {
  .fto-adm-ui .fto-adm-ui:has(.fto-notifications-table) .page-header {
    flex-direction: column;
    align-items: stretch;
    gap: 0.85rem;
  }
  .fto-adm-ui .fto-adm-ui:has(.fto-notifications-table) .page-header__actions {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
  }
  .fto-adm-ui .fto-adm-ui:has(.fto-notifications-table) .page-header__actions .btn {
    flex: 1 1 calc(50% - 0.35rem);
    min-width: 0;
    justify-content: center;
  }
  .fto-adm-ui .fto-adm-ui:has(.fto-notifications-table) .notifications-tabs.notify-type-tabs {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
    padding-bottom: 0.15rem;
  }
  .fto-adm-ui .fto-adm-ui:has(.fto-notifications-table) .directory.notify-list .directory__search {
    width: 100%;
    max-width: 100%;
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .fto-adm-ui:has(.fto-notifications-table) .page-header__actions .btn {
    flex: 1 1 100%;
  }
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-staff-manage-table .table-head,
  .fto-adm-ui .fto-staff-manage-table .fto-directory-row.fto-staff-manage-row {
    grid-template-columns: 56px minmax(0, 1.25fr) minmax(0, 0.95fr) minmax(0, 1.05fr) minmax(0, 1.15fr) minmax(0, 0.9fr) minmax(90px, auto);
    min-width: 980px;
  }
  .fto-adm-ui .fto-staff-manage-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-staff-manage-table .fto-staff-manage-row__photo {
    justify-self: center;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-staff-manage-table .table-head,
  .fto-adm-ui .fto-staff-manage-table .fto-directory-row.fto-staff-manage-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .fto-staff-manage-table .fto-staff-manage-row__sl {
  font-weight: 700;
}
.fto-adm-ui .fto-staff-manage-table .fto-staff-manage-row__photo {
  justify-content: center;
}
.fto-adm-ui .fto-staff-manage-table .fto-staff-manage-row__photo img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
}
.fto-adm-ui .fto-staff-manage-table .fto-staff-manage-row__name {
  font-weight: 700;
}
.fto-adm-ui .fto-adm-ui .directory .notify-filters {
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-resources-ppt-table .table-head,
  .fto-adm-ui .fto-resources-ppt-table .fto-directory-row.fto-resources-ppt-row {
    grid-template-columns: minmax(0, 1.2fr) minmax(72px, 0.55fr) minmax(64px, 0.5fr) minmax(88px, 0.65fr) minmax(64px, 0.5fr) minmax(88px, 0.7fr) minmax(88px, 0.7fr) minmax(80px, 0.65fr) minmax(100px, auto);
    min-width: 1180px;
  }
  .fto-adm-ui .fto-resources-ppt-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-resources-ppt-table .fto-resources-ppt-row__title {
    justify-self: start;
    text-align: left;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-resources-ppt-table .table-head,
  .fto-adm-ui .fto-resources-ppt-table .fto-directory-row.fto-resources-ppt-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .fto-resources-ppt-table .fto-resources-ppt-row__title {
  min-width: 0;
}
.fto-adm-ui .fto-resources-ppt-table .fto-resources-ppt-row__title strong {
  display: block;
  color: #1a2b42;
  font-weight: 700;
}
.fto-adm-ui .fto-resources-ppt-table .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.fto-adm-ui .fto-adm-ui .lc-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.fto-adm-ui .fto-adm-ui .lc-type-badge--ppt {
  background: #eef2ff;
  color: #4f46e5;
}
.fto-adm-ui .fto-adm-ui .lc-type-badge--video {
  background: #fef3c7;
  color: #b45309;
}
.fto-adm-ui .fto-qb-directory__header {
  min-height: 0;
}
.fto-adm-ui .fto-qb-directory__header:not(:has(.qb-bulk-actions:not([hidden]))) {
  display: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-resources-qb-table .table-head,
  .fto-adm-ui .fto-resources-qb-table .fto-directory-row.fto-resources-qb-row {
    grid-template-columns: 44px minmax(100px, 0.7fr) minmax(100px, 0.75fr) minmax(0, 2fr) minmax(90px, 0.85fr) minmax(72px, 0.55fr) minmax(88px, 0.6fr) minmax(64px, 0.45fr) minmax(64px, 0.42fr);
    min-width: 1080px;
  }
  .fto-adm-ui .fto-resources-qb-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-resources-qb-table .col-select {
    justify-self: start;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-resources-qb-table .table-head,
  .fto-adm-ui .fto-resources-qb-table .fto-directory-row.fto-resources-qb-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
  .fto-adm-ui .fto-resources-qb-table .col-select::before {
    display: none;
  }
  .fto-adm-ui .fto-resources-qb-table .question-bank-row__dgca::before {
    display: none;
  }
}
.fto-adm-ui .fto-resources-qb-table .fto-resources-qb-row__question {
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.fto-adm-ui .fto-resources-qb-table .question-bank-row__dgca {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .qb-bulk-actions {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.fto-adm-ui .qb-bulk-actions[hidden] {
  display: none;
}
.fto-adm-ui .qb-toolbar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: none;
  border-radius: 12px;
  background: #F15B55;
  color: #ffffff;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.2s, transform 0.15s;
}
.fto-adm-ui .qb-toolbar-btn svg {
  width: 20px;
  height: 20px;
}
.fto-adm-ui .qb-toolbar-btn:hover {
  background: #cf2f3c;
}
.fto-adm-ui .qb-row-check {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.fto-adm-ui .qb-row-check input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.fto-adm-ui .qb-row-check__box {
  width: 18px;
  height: 18px;
  border: 1.5px solid #c5d0de;
  border-radius: 4px;
  background: #ffffff;
  transition: background 0.15s, border-color 0.15s;
}
.fto-adm-ui .qb-row-check input:checked + .qb-row-check__box {
  background: #4f7cff;
  border-color: #4f7cff;
  box-shadow: inset 0 0 0 2px #ffffff;
}
.fto-adm-ui .qb-row-check--table .qb-row-check__box {
  width: 16px;
  height: 16px;
}
.fto-adm-ui .btn-icon {
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 12px rgba(12, 31, 61, 0.06);
  color: #0c1f3d;
  cursor: pointer;
  flex-shrink: 0;
}
.fto-adm-ui .btn-icon svg {
  width: 20px;
  height: 20px;
}
.fto-adm-ui .dashboard-live-table .table-head.table-head--sort-only {
  padding: 0 16px 0.45rem;
  margin-bottom: 0;
  align-items: center;
}
.fto-adm-ui .dashboard-live-table .table-head.table-head--sort-only > span {
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
  text-align: left;
}
.fto-adm-ui .dashboard-live-table .table-head.table-head--sort-only > span:last-child {
  align-items: center;
  text-align: center;
}
.fto-adm-ui .dashboard-live-table .table-head.table-head--sort-only .sa-directory-sort-btn,
.fto-adm-ui .dashboard-live-table .table-head.table-head--sort-only .table-head__label {
  justify-content: flex-start;
  text-align: left;
  width: 100%;
}
.fto-adm-ui .dashboard-live-table .table-head.table-head--sort-only > span:last-child .table-head__label {
  justify-content: center;
  text-align: center;
}
.fto-adm-ui .dashboard-live-table .table-body {
  gap: 0.65rem;
}
.fto-adm-ui .dashboard-live-table .fto-directory-row.dashboard-live-row {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  margin: 0;
  border-radius: 20px;
  box-shadow: 0 2px 10px rgba(31, 65, 105, 0.06);
}
@media (min-width: 992px) {
  .fto-adm-ui .dashboard-live-table .table-head,
  .fto-adm-ui .dashboard-live-table .fto-directory-row.dashboard-live-row {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 0.7fr) minmax(0, 0.85fr) minmax(0, 0.8fr) minmax(120px, 132px);
    min-width: 900px;
    column-gap: 12px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .dashboard-live-table .table-head,
  .fto-adm-ui .dashboard-live-table .fto-directory-row.dashboard-live-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .dashboard-live-table .col-subject {
  justify-self: stretch;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}
.fto-adm-ui .dashboard-live-table .dashboard-live-row__class-link {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  box-sizing: border-box;
}
.fto-adm-ui .dashboard-live-table .dashboard-live-row__class-link:hover strong {
  color: #0c1f3d;
}
.fto-adm-ui .dashboard-live-table [data-directory-cell=subject] {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}
.fto-adm-ui .dashboard-live-table [data-directory-cell=subject] strong {
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.88rem;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.3;
}
.fto-adm-ui .dashboard-live-table .dashboard-live-row__lecture {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 0.15rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.72rem;
  color: #6b7c93;
  line-height: 1.35;
  cursor: help;
  box-sizing: border-box;
}
.fto-adm-ui .dashboard-live-table .dashboard-live-row--muted {
  opacity: 0.55;
}
.fto-adm-ui .dashboard-live-table .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
.fto-adm-ui .dashboard-live-table .col-action .dash-btn {
  flex-shrink: 0;
}
.tooltip.dashboard-live-lecture-tooltip {
  --bs-tooltip-max-width: 280px;
  --bs-tooltip-bg: #0c1f3d;
  --bs-tooltip-color: #fff;
  --bs-tooltip-opacity: 1;
  --bs-tooltip-font-size: 0.75rem;
}
.tooltip.dashboard-live-lecture-tooltip .tooltip-inner {
  text-align: left;
  padding: 0.45rem 0.65rem;
  line-height: 1.35;
  font-weight: 500;
}

.fto-adm-ui .dash-overdue-homework-directory.directory {
  margin-top: 1rem;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 24px;
  padding: 1rem;
}
.fto-adm-ui .dash-overdue-homework-table .table-body {
  gap: 0.65rem;
}
.fto-adm-ui .dash-overdue-homework-table .fto-directory-row.dash-overdue-homework-row {
  margin: 0;
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(12, 31, 61, 0.05);
}
@media (min-width: 992px) {
  .fto-adm-ui .dash-overdue-homework-table .table-head,
  .fto-adm-ui .dash-overdue-homework-table .fto-directory-row.dash-overdue-homework-row {
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, 0.75fr) minmax(0, 0.75fr) minmax(92px, 0.72fr) minmax(92px, 0.72fr) minmax(72px, 0.62fr) minmax(72px, auto);
    min-width: 1040px;
  }
  .fto-adm-ui .dash-overdue-homework-table .table-head > span:nth-child(1),
  .fto-adm-ui .dash-overdue-homework-table .fto-directory-row.dash-overdue-homework-row > :nth-child(1) {
    justify-self: start !important;
    text-align: left !important;
  }
  .fto-adm-ui .dash-overdue-homework-table .table-head > span:nth-child(1) {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .fto-adm-ui .dash-overdue-homework-table .table-head > span:nth-child(1) .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .fto-adm-ui .dash-overdue-homework-table .table-head > span:nth-child(1) .table-head__label {
    justify-content: flex-start;
  }
  .fto-adm-ui .dash-overdue-homework-table .table-head > span:nth-child(1) .table-head__filter {
    text-align: left;
  }
  .fto-adm-ui .dash-overdue-homework-table .table-head > span:not(:first-child),
  .fto-adm-ui .dash-overdue-homework-table .fto-directory-row.dash-overdue-homework-row > :not(:first-child) {
    justify-self: center !important;
    text-align: center !important;
  }
  .fto-adm-ui .dash-overdue-homework-table .table-head > span:not(:first-child) {
    text-align: center;
    justify-self: center;
    align-items: center;
  }
  .fto-adm-ui .dash-overdue-homework-table .table-head > span:not(:first-child) .sa-directory-sort-btn {
    justify-content: center;
    width: 100%;
  }
  .fto-adm-ui .dash-overdue-homework-table .table-head > span:not(:first-child) .table-head__label {
    justify-content: center;
  }
  .fto-adm-ui .dash-overdue-homework-table .table-head > span:not(:first-child) .table-head__filter {
    text-align: center;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .dash-overdue-homework-table .table-head,
  .fto-adm-ui .dash-overdue-homework-table .fto-directory-row.dash-overdue-homework-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .dash-overdue-homework-table .dash-cell-name,
.fto-adm-ui .dash-overdue-homework-table .dash-cell-stack {
  min-width: 0;
}
.fto-adm-ui .dash-overdue-homework-table .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
.fto-adm-ui .dash-overdue-homework-table .col-action .dash-btn,
.fto-adm-ui .dash-overdue-homework-table .col-action .btn--view {
  flex-shrink: 0;
}
.fto-adm-ui .fto-management-table {
  overflow-x: visible;
}
.fto-adm-ui .fto-management-table .table-head,
.fto-adm-ui .fto-management-table .fto-management-row {
  grid-template-columns: minmax(200px, 2fr) 0.95fr 1fr 0.85fr 1fr 0.85fr 88px;
  min-width: 0;
}
.fto-adm-ui .resources-table .table-wrap {
  overflow-x: auto;
  max-width: 100%;
}
.fto-adm-ui .resources-table .table-body {
  min-width: 0;
  max-width: 100%;
}
.fto-adm-ui .resources-table .resources-folder {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.fto-adm-ui .resources-table .resources-folder__children {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  padding: 0 0 0 3rem;
}
.fto-adm-ui .resources-table .resources-folder__children[hidden] {
  display: none !important;
}
.fto-adm-ui .resources-table .resources-folder__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  min-height: 18px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  flex-shrink: 0;
}
.fto-adm-ui .resources-table .resources-folder__icon,
.fto-adm-ui .resources-table .resources-file__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.fto-adm-ui .resources-table .resources-row__name {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
  justify-self: start;
}
.fto-adm-ui .resources-table .resources-row__name > div:last-child {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
  min-width: 0;
  gap: 0;
}
.fto-adm-ui .resources-table .col-profile.resources-row__name {
  gap: 1rem;
}
.fto-adm-ui .resources-table .col-profile.resources-row__name img {
  width: auto;
  height: auto;
  border-radius: 0;
  object-fit: contain;
  flex-shrink: 0;
}
.fto-adm-ui .resources-table .col-profile.resources-row__name .resources-folder__arrow {
  display: block;
  width: 11px;
  height: auto;
  max-height: 11px;
}
.fto-adm-ui .resources-table .col-profile.resources-row__name .resources-folder__icon img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}
.fto-adm-ui .resources-table .resources-row--file .resources-row__name .resources-file__icon img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  border-radius: 0;
}
.fto-adm-ui .resources-table .resources-row__actions .resources-img {
  width: 17px;
  height: 18px;
  max-width: 17px;
  max-height: 18px;
  border-radius: 0;
  object-fit: contain;
}
.fto-adm-ui .resources-table .resources-row__title {
  font-weight: 600;
  font-size: 0.9375rem;
  line-height: 1.25;
  color: #1a2b42;
  word-break: normal;
  overflow-wrap: anywhere;
}
.fto-adm-ui .resources-table .resources-row__desc {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #6b7c93;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  width: 100%;
}
.fto-adm-ui .resources-table .resources-row__items-count {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #1a2b42;
}
.fto-adm-ui .resources-table .resources-row__items-meta {
  font-size: 0.75rem;
  font-weight: 500;
  color: #6b7c93;
}
.fto-adm-ui .resources-table .resources-row__date {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #1a2b42;
}
.fto-adm-ui .resources-table .resources-row__status {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .resources-table .resources-row__actions {
  display: grid;
  grid-template-columns: repeat(4, 36px);
  justify-content: end;
  justify-self: end;
  align-items: center;
  gap: 0.35rem;
  width: calc(36px * 4 + 0.35rem * 3);
  max-width: 100%;
  margin-left: auto;
}
.fto-adm-ui .resources-table .resources-row--folder {
  align-items: center;
  padding: 1.15rem 1rem;
}
@media (min-width: 992px) {
  .fto-adm-ui .resources-table .table-head,
  .fto-adm-ui .resources-table .fto-directory-row.resources-row {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.75fr) minmax(0, 0.7fr) minmax(0, 0.85fr) calc(36px * 4 + 0.35rem * 3);
    min-width: 0;
  }
  .fto-adm-ui .resources-table .resources-row--file {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.75fr) minmax(0, 0.7fr) minmax(0, 0.85fr) calc(36px * 4 + 0.35rem * 3);
    gap: 12px;
    align-items: center;
    padding: 0.85rem 1rem;
    background: #f7f9ff;
    border: 1px solid #e0e7f3;
    border-radius: 16px;
    box-shadow: none;
  }
  .fto-adm-ui .resources-table .resources-row--file .resources-row__name {
    padding-left: 1.35rem;
  }
  .fto-adm-ui .resources-table .resources-row--file .resources-row__name > div:last-child {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
  }
  .fto-adm-ui .resources-table .resources-row--file .resources-row__title {
    font-weight: 500;
  }
  .fto-adm-ui .resources-table .resources-row--file .resources-row__cell--empty {
    min-height: 1px;
  }
  .fto-adm-ui .resources-table .resources-row__name > div:last-child {
    overflow-x: auto;
    max-width: 100%;
    scrollbar-width: thin;
    scrollbar-color: rgba(12, 31, 61, 0.18) transparent;
  }
  .fto-adm-ui .resources-table .resources-row__name > div:last-child::-webkit-scrollbar {
    height: 4px;
  }
  .fto-adm-ui .resources-table .resources-row__name > div:last-child::-webkit-scrollbar-thumb {
    background: rgba(12, 31, 61, 0.18);
    border-radius: 4px;
  }
  .fto-adm-ui .resources-table .resources-row__desc {
    display: block;
    white-space: normal;
    overflow-wrap: anywhere;
    -webkit-line-clamp: unset;
    -webkit-box-orient: unset;
  }
}
.fto-adm-ui .resources-table .resources-row--file {
  background: #f7f9ff;
  border: 1px solid #e0e7f3;
  border-radius: 16px;
  box-shadow: none;
}
.fto-adm-ui .resources-table .resources-action-slot {
  display: block;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}
.fto-adm-ui .resources-table .resources-file-badge {
  display: inline-block;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: lowercase;
  line-height: 1.4;
  background: #e8f0fa;
  color: #0c1f3d;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .resources-table {
    overflow-x: visible;
    max-width: 100%;
  }
  .fto-adm-ui .resources-table .table-wrap {
    overflow-x: visible;
  }
  .fto-adm-ui .resources-table .table-head {
    display: none;
  }
  .fto-adm-ui .resources-table .resources-folder {
    min-width: 0;
    max-width: 100%;
  }
  .fto-adm-ui .resources-table .resources-folder__children {
    padding-left: 0.5rem;
    min-width: 0;
  }
  .fto-adm-ui .resources-table .resources-row--folder,
  .fto-adm-ui .resources-table .resources-row--file {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 16px;
  }
  .fto-adm-ui .resources-table .resources-row--folder .resources-row__name,
  .fto-adm-ui .resources-table .resources-row--file .resources-row__name {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    text-align: left;
    width: 100%;
    min-width: 0;
    padding-left: 0;
  }
  .fto-adm-ui .resources-table .resources-row--folder .resources-row__name::before,
  .fto-adm-ui .resources-table .resources-row--file .resources-row__name::before {
    display: none;
  }
  .fto-adm-ui .resources-table .resources-row--folder .resources-row__name > div:last-child,
  .fto-adm-ui .resources-table .resources-row--file .resources-row__name > div:last-child {
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 0.25rem;
    min-width: 0;
    flex: 1;
  }
  .fto-adm-ui .resources-table .resources-row--folder .resources-row__desc,
  .fto-adm-ui .resources-table .resources-row--file .resources-row__desc {
    -webkit-line-clamp: unset;
    -webkit-box-orient: unset;
    display: block;
    white-space: normal;
    overflow: visible;
    width: 100%;
  }
  .fto-adm-ui .resources-table .resources-row--folder .resources-row__cell--empty,
  .fto-adm-ui .resources-table .resources-row--file .resources-row__cell--empty {
    display: none;
  }
  .fto-adm-ui .resources-table .resources-row--folder [data-mobile-label],
  .fto-adm-ui .resources-table .resources-row--file [data-mobile-label] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    min-width: 0;
    text-align: right;
  }
  .fto-adm-ui .resources-table .resources-row--folder [data-mobile-label]::before,
  .fto-adm-ui .resources-table .resources-row--file [data-mobile-label]::before {
    content: attr(data-mobile-label);
    font-size: 11px;
    font-weight: 600;
    color: #6b7c93;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    flex-shrink: 0;
    text-align: left;
  }
  .fto-adm-ui .resources-table .resources-row--folder .resources-row__actions,
  .fto-adm-ui .resources-table .resources-row--file .resources-row__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    padding-top: 0.35rem;
    border-top: 1px solid rgba(12, 31, 61, 0.08);
  }
  .fto-adm-ui .resources-table .resources-row--folder .resources-row__actions::before,
  .fto-adm-ui .resources-table .resources-row--file .resources-row__actions::before {
    content: attr(data-mobile-label);
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: #6b7c93;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    flex-shrink: 0;
    margin-right: auto;
  }
  .fto-adm-ui .resources-table .resources-row--file .resources-row__name > div:last-child {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
  }
  .fto-adm-ui .resources-table .resources-row--file .resources-row__actions {
    border-top: 1px solid rgba(12, 31, 61, 0.08);
  }
  .fto-adm-ui .resources-table .resources-row--folder .resources-row__status {
    justify-content: flex-end;
  }
  .fto-adm-ui .resources-table .resources-action-slot {
    display: none;
  }
}
.fto-adm-ui .programs-tabs {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  gap: 0.5rem;
  padding: 0.35rem;
  background: #f4f7fb;
  border: 1px solid #eef2f6;
  border-radius: 999px;
  width: fit-content;
}
.fto-adm-ui .programs-tabs::-webkit-scrollbar {
  display: none;
}
.fto-adm-ui .programs-tabs__btn {
  border: none;
  background: transparent;
  color: #6b7c93;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 0.55rem 1.15rem;
  border-radius: 999px;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.2s ease, color 0.2s ease;
}
.fto-adm-ui .programs-tabs__btn--active {
  background: #fff;
  color: #0c1f3d;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(12, 31, 61, 0.08);
}
.fto-adm-ui .programs-toolbar__actions {
  flex-shrink: 0;
}
.fto-adm-ui .stats[data-programs-stats] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 991.98px) {
  .fto-adm-ui .stats[data-programs-stats] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .stats[data-programs-stats] {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .programs-table .table-head,
.fto-adm-ui .programs-table .fto-directory-row.programs-list-row {
  grid-template-columns: minmax(160px, 1.2fr) minmax(200px, 2fr) calc(72px + 0.35rem);
  min-width: 720px;
}
.fto-adm-ui .programs-table .programs-row__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin-left: auto;
}
.fto-adm-ui .programs-table .programs-row__actions .resources-img {
  width: 17px;
  height: 18px;
  max-width: 17px;
  max-height: 18px;
  border-radius: 0;
  object-fit: contain;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .programs-table .table-head,
  .fto-adm-ui .programs-table .fto-directory-row.programs-list-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
  .fto-adm-ui .programs-table .programs-row__actions {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    justify-content: flex-end;
    box-sizing: border-box;
  }
}
.fto-adm-ui .testimonials-table .table-head,
.fto-adm-ui .testimonials-table .fto-directory-row.testimonials-row {
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 2.6fr) minmax(0, 0.75fr) calc(36px * 2 + 0.35rem);
  min-width: 860px;
}
.fto-adm-ui .testimonials-table .table-head > span:nth-child(2) {
  text-align: left;
  justify-self: start;
  align-items: flex-start;
}
.fto-adm-ui .testimonials-table .table-head > span:nth-child(2) .sa-directory-sort-btn {
  justify-content: flex-start;
  width: 100%;
}
.fto-adm-ui .testimonials-table .table-head > span:nth-child(2) .table-head__label {
  justify-content: flex-start;
}
.fto-adm-ui .testimonials-table .table-head > span:nth-child(2) .table-head__filter {
  text-align: left;
}
.fto-adm-ui .testimonials-table .fto-directory-row.testimonials-row > :nth-child(2) {
  justify-self: start !important;
  text-align: left !important;
}
.fto-adm-ui .testimonials-table .testimonials-list__name {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  justify-self: start;
}
.fto-adm-ui .testimonials-table .testimonials-list__identity {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.fto-adm-ui .testimonials-table .testimonials-list__type-mark {
  width: 4px;
  min-width: 4px;
  height: 40px;
  border-radius: 999px;
  flex-shrink: 0;
  cursor: help;
}
.fto-adm-ui .testimonials-table .testimonials-list__type-mark--professional {
  background: #0c1f3d;
}
.fto-adm-ui .testimonials-table .testimonials-list__type-mark--student {
  background: #e85d5d;
}
.fto-adm-ui .testimonials-table .testimonials-list__person {
  display: block;
  min-width: 0;
  max-width: 100%;
  font-size: 15px;
  font-weight: 600;
  color: #1a2b42;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.fto-adm-ui .testimonials-table .testimonials-list__designation {
  display: block;
  min-width: 0;
  max-width: 100%;
  font-size: 12px;
  font-weight: 500;
  color: #6b7c93;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.fto-adm-ui .testimonials-table .testimonials-list__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  flex-shrink: 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.02em;
}
.fto-adm-ui .testimonials-table .testimonials-list__avatar--1 {
  background: #4a6fa5;
}
.fto-adm-ui .testimonials-table .testimonials-list__avatar--2 {
  background: #c45c6e;
}
.fto-adm-ui .testimonials-table .testimonials-list__avatar--3 {
  background: #3d8b7a;
}
.fto-adm-ui .testimonials-table .testimonials-list__avatar--4 {
  background: #8b6bb8;
}
.fto-adm-ui .testimonials-table .testimonials-list__avatar--5 {
  background: #c98b3d;
}
.fto-adm-ui .testimonials-table .testimonials-list__cell {
  min-width: 0;
  max-width: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.fto-adm-ui .testimonials-table .testimonials-list__cell--truncatable {
  cursor: pointer;
}
.fto-adm-ui .testimonials-table .testimonials-list__cell--truncatable:hover {
  color: #0c1f3d;
}
.fto-adm-ui .testimonials-table .col-profile.testimonials-list__name img {
  width: auto;
  height: auto;
  border-radius: 0;
  object-fit: contain;
}
.fto-adm-ui .testimonials-table .testimonials-row__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin-left: auto;
}
.fto-adm-ui .testimonials-table .testimonials-row__actions .resources-img {
  width: 17px;
  height: 18px;
  max-width: 17px;
  max-height: 18px;
  border-radius: 0;
  object-fit: contain;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .testimonials-table .testimonials-list__name {
    flex-wrap: wrap;
  }
  .fto-adm-ui .testimonials-table .testimonials-row__actions {
    width: 100%;
    justify-content: flex-end;
  }
}
.fto-adm-ui .sf-summary.stats--content {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 991.98px) {
  .fto-adm-ui .sf-summary.stats--content {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .sf-summary__card {
  display: block;
  width: 100%;
  height: 100%;
  padding: 1.25rem 1.35rem;
  background: #eaf4fb;
  border-radius: 24px;
  border: 1px solid rgba(12, 31, 61, 0.06);
  text-align: center;
  cursor: pointer;
  font: inherit;
  color: inherit;
  appearance: none;
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.fto-adm-ui .sf-summary__card:hover {
  background: #0c1f3d;
  border-color: #0c1f3d;
  color: #fff;
  box-shadow: 0 12px 28px rgba(12, 31, 61, 0.16);
  transform: translateY(-2px);
}
.fto-adm-ui .sf-summary__card:hover .sf-summary__counts,
.fto-adm-ui .sf-summary__card:hover .sf-summary__counts span:not(.sf-summary__sep),
.fto-adm-ui .sf-summary__card:hover .sf-summary__label {
  color: #fff;
}
.fto-adm-ui .sf-summary__card:hover .sf-summary__meta {
  color: rgba(255, 255, 255, 0.72);
}
.fto-adm-ui .sf-summary__card:hover .sf-summary__sep {
  color: rgba(255, 255, 255, 0.45);
}
.fto-adm-ui .sf-summary__card--active {
  background: #0c1f3d;
  border-color: #0c1f3d;
  color: #fff;
  box-shadow: 0 12px 28px rgba(12, 31, 61, 0.12);
}
.fto-adm-ui .sf-summary__card--active .sf-summary__counts,
.fto-adm-ui .sf-summary__card--active .sf-summary__counts span:not(.sf-summary__sep),
.fto-adm-ui .sf-summary__card--active .sf-summary__label {
  color: #fff;
}
.fto-adm-ui .sf-summary__card--active .sf-summary__meta {
  color: rgba(255, 255, 255, 0.72);
}
.fto-adm-ui .sf-summary__card--active .sf-summary__sep {
  color: rgba(255, 255, 255, 0.45);
}
.fto-adm-ui .sf-summary__counts {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
  color: #0c1f3d;
}
.fto-adm-ui .sf-summary__sep {
  margin: 0 0.35rem;
  color: #6b7c93;
  font-weight: 500;
}
.fto-adm-ui .sf-summary__label {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #1a2b42;
}
.fto-adm-ui .sf-summary__meta {
  margin-top: 0.35rem;
  font-size: 0.75rem;
  color: #6b7c93;
}
.fto-adm-ui .support-feedback-directory .directory__search {
  min-width: 0;
  width: 100%;
  max-width: 280px;
  flex: 1 1 auto;
}
@media (min-width: 992px) {
  .fto-adm-ui .support-feedback-directory .directory__search {
    flex: 0 0 280px;
    width: 280px;
    min-width: 280px;
    max-width: 280px;
  }
}
.fto-adm-ui .support-feedback-directory .directory__search input {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}
.fto-adm-ui .support-feedback-directory .directory__header,
.fto-adm-ui .support-feedback-directory .directory__tools {
  min-width: 0;
  max-width: 100%;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .support-feedback-directory .directory__header {
    flex-direction: column;
    align-items: stretch;
  }
  .fto-adm-ui .support-feedback-directory .directory__tools {
    width: 100%;
  }
  .fto-adm-ui .support-feedback-directory .directory__search {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
}
.fto-adm-ui .support-feedback-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 991.98px) {
  .fto-adm-ui .support-feedback-stats {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .support-feedback-stats .stat-card {
  cursor: pointer;
}
.fto-adm-ui .support-feedback-stats .stat-card:focus-visible {
  outline: 2px solid rgba(12, 31, 61, 0.35);
  outline-offset: 2px;
}
.fto-adm-ui .support-feedback-stats__card--alert,
.fto-adm-ui .support-feedback-stats .stat-card.support-feedback-stats__card--alert {
  background: #fde8e8;
  border-color: rgba(198, 40, 40, 0.35);
  box-shadow: 0 8px 20px rgba(198, 40, 40, 0.1);
}
.fto-adm-ui .support-feedback-stats__card--alert .stat-card__label,
.fto-adm-ui .support-feedback-stats .stat-card.support-feedback-stats__card--alert .stat-card__label {
  color: #6b7c93;
}
.fto-adm-ui .support-feedback-stats__card--alert .stat-card__value,
.fto-adm-ui .support-feedback-stats .stat-card.support-feedback-stats__card--alert .stat-card__value {
  color: #c62828;
}
.fto-adm-ui .support-feedback-stats__card--alert .stat-card__icon,
.fto-adm-ui .support-feedback-stats .stat-card.support-feedback-stats__card--alert .stat-card__icon {
  background: #fff;
  color: #c62828;
}
.fto-adm-ui .support-feedback-stats__card--alert .stat-card__icon .bi,
.fto-adm-ui .support-feedback-stats .stat-card.support-feedback-stats__card--alert .stat-card__icon .bi {
  color: #c62828;
}
.fto-adm-ui .support-feedback-stats__card--active,
.fto-adm-ui .support-feedback-stats .stat-card.support-feedback-stats__card--active {
  background: #0c1f3d;
  border-color: #0c1f3d;
  color: #ffffff;
  box-shadow: 0 12px 28px rgba(12, 31, 61, 0.16);
}
.fto-adm-ui .support-feedback-stats__card--active .stat-card__label,
.fto-adm-ui .support-feedback-stats .stat-card.support-feedback-stats__card--active .stat-card__label {
  color: rgba(255, 255, 255, 0.75);
}
.fto-adm-ui .support-feedback-stats__card--active .stat-card__value,
.fto-adm-ui .support-feedback-stats .stat-card.support-feedback-stats__card--active .stat-card__value {
  color: #ffffff;
}
.fto-adm-ui .support-feedback-stats__card--active .stat-card__icon,
.fto-adm-ui .support-feedback-stats .stat-card.support-feedback-stats__card--active .stat-card__icon {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}
.fto-adm-ui .support-feedback-stats__card--active .stat-card__icon .bi,
.fto-adm-ui .support-feedback-stats .stat-card.support-feedback-stats__card--active .stat-card__icon .bi {
  color: #ffffff;
}
.fto-adm-ui .support-feedback-stats .stat-card.support-feedback-stats__card--alert.support-feedback-stats__card--active {
  background: #c62828;
  border-color: #c62828;
  box-shadow: 0 12px 28px rgba(198, 40, 40, 0.22);
}
.fto-adm-ui .support-feedback-stats .stat-card.support-feedback-stats__card--alert.support-feedback-stats__card--active .stat-card__label {
  color: rgba(255, 255, 255, 0.85);
}
.fto-adm-ui .support-feedback-stats .stat-card.support-feedback-stats__card--alert.support-feedback-stats__card--active .stat-card__value,
.fto-adm-ui .support-feedback-stats .stat-card.support-feedback-stats__card--alert.support-feedback-stats__card--active .stat-card__icon,
.fto-adm-ui .support-feedback-stats .stat-card.support-feedback-stats__card--alert.support-feedback-stats__card--active .stat-card__icon .bi {
  color: #ffffff;
}
.fto-adm-ui .support-feedback-stats .stat-card.support-feedback-stats__card--alert.support-feedback-stats__card--active .stat-card__icon {
  background: rgba(255, 255, 255, 0.16);
}
.fto-adm-ui .support-feedback-table .fto-directory-row.support-feedback-row,
.fto-adm-ui .support-feedback-table .fto-directory-row.support-feedback-ticket-row {
  box-shadow: none !important;
}
.fto-adm-ui .support-feedback-table .fto-directory-row.support-feedback-row:hover,
.fto-adm-ui .support-feedback-table .fto-directory-row.support-feedback-ticket-row:hover {
  box-shadow: none !important;
}
.fto-adm-ui .support-feedback-table .table-head,
.fto-adm-ui .support-feedback-table .fto-directory-row.support-feedback-row {
  grid-template-columns: minmax(90px, 0.7fr) minmax(120px, 1.05fr) minmax(160px, 1.55fr) minmax(148px, 1fr) minmax(88px, 0.7fr) 72px;
  min-width: 900px;
}
.fto-adm-ui .support-feedback-table--ticket .table-head,
.fto-adm-ui .support-feedback-table--ticket .fto-directory-row.support-feedback-ticket-row {
  grid-template-columns: minmax(90px, 0.7fr) minmax(120px, 1.05fr) minmax(160px, 1.45fr) minmax(148px, 1fr) minmax(88px, 0.7fr) minmax(88px, 0.65fr) 72px;
  min-width: 980px;
}
.fto-adm-ui .support-feedback-table .table-head > span:nth-child(1),
.fto-adm-ui .support-feedback-table .table-head > span:nth-child(2),
.fto-adm-ui .support-feedback-table .table-head > span:nth-child(3) {
  text-align: left;
  justify-self: start;
  align-items: flex-start;
}
.fto-adm-ui .support-feedback-table .table-head > span:nth-child(1) .sa-directory-sort-btn,
.fto-adm-ui .support-feedback-table .table-head > span:nth-child(2) .sa-directory-sort-btn,
.fto-adm-ui .support-feedback-table .table-head > span:nth-child(3) .sa-directory-sort-btn {
  justify-content: flex-start;
  width: 100%;
}
.fto-adm-ui .support-feedback-table .table-head > span:nth-child(1) .table-head__label,
.fto-adm-ui .support-feedback-table .table-head > span:nth-child(2) .table-head__label,
.fto-adm-ui .support-feedback-table .table-head > span:nth-child(3) .table-head__label {
  justify-content: flex-start;
}
.fto-adm-ui .support-feedback-table .table-head > span:nth-child(1) .table-head__filter,
.fto-adm-ui .support-feedback-table .table-head > span:nth-child(2) .table-head__filter,
.fto-adm-ui .support-feedback-table .table-head > span:nth-child(3) .table-head__filter {
  text-align: left;
}
.fto-adm-ui .support-feedback-table--ticket .table-head > span:nth-child(1), .fto-adm-ui .support-feedback-table--ticket .table-head > span:nth-child(2), .fto-adm-ui .support-feedback-table--ticket .table-head > span:nth-child(3) {
  text-align: left;
  justify-self: start;
  align-items: flex-start;
}
.fto-adm-ui .support-feedback-table--ticket .table-head > span:nth-child(1) .sa-directory-sort-btn, .fto-adm-ui .support-feedback-table--ticket .table-head > span:nth-child(2) .sa-directory-sort-btn, .fto-adm-ui .support-feedback-table--ticket .table-head > span:nth-child(3) .sa-directory-sort-btn {
  justify-content: flex-start;
  width: 100%;
}
.fto-adm-ui .support-feedback-table--ticket .table-head > span:nth-child(1) .table-head__label, .fto-adm-ui .support-feedback-table--ticket .table-head > span:nth-child(2) .table-head__label, .fto-adm-ui .support-feedback-table--ticket .table-head > span:nth-child(3) .table-head__label {
  justify-content: flex-start;
}
.fto-adm-ui .support-feedback-table--ticket .table-head > span:nth-child(1) .table-head__filter, .fto-adm-ui .support-feedback-table--ticket .table-head > span:nth-child(2) .table-head__filter, .fto-adm-ui .support-feedback-table--ticket .table-head > span:nth-child(3) .table-head__filter {
  text-align: left;
}
.fto-adm-ui .support-feedback-table .fto-directory-row.support-feedback-row > :nth-child(1),
.fto-adm-ui .support-feedback-table .fto-directory-row.support-feedback-row > :nth-child(2),
.fto-adm-ui .support-feedback-table .fto-directory-row.support-feedback-row > :nth-child(3) {
  justify-self: start !important;
  text-align: left !important;
}
.fto-adm-ui .support-feedback-table .fto-directory-row.support-feedback-ticket-row > :nth-child(1),
.fto-adm-ui .support-feedback-table .fto-directory-row.support-feedback-ticket-row > :nth-child(2),
.fto-adm-ui .support-feedback-table .fto-directory-row.support-feedback-ticket-row > :nth-child(3) {
  justify-self: start !important;
  text-align: left !important;
}
.fto-adm-ui .support-feedback-table .support-feedback-directory__id {
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .support-feedback-table .support-feedback-directory__desc {
  justify-self: stretch !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
}
.fto-adm-ui .support-feedback-table .fto-directory-row.support-feedback-row > :nth-child(4),
.fto-adm-ui .support-feedback-table .fto-directory-row.support-feedback-ticket-row > :nth-child(4) {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  max-width: 100%;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .support-feedback-table .support-feedback-directory__desc {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
}
.fto-adm-ui .support-feedback-table .support-feedback-row__actions {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .support-feedback-table .table-body {
    gap: 10px;
  }
  .fto-adm-ui .support-feedback-table .fto-directory-row.support-feedback-row,
  .fto-adm-ui .support-feedback-table .fto-directory-row.support-feedback-ticket-row {
    border-radius: 16px;
    border: 1px solid #eef2f6;
  }
  .fto-adm-ui .support-feedback-table .support-feedback-row__actions.col-action {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.25rem;
    padding: 0.6rem 0 0;
    justify-content: flex-end;
    align-items: center;
    box-sizing: border-box;
    border-top: 1px solid rgba(12, 31, 61, 0.08);
  }
  .fto-adm-ui .support-feedback-table .support-feedback-row__actions.col-action::before {
    content: attr(data-mobile-label);
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: #6b7c93;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    flex-shrink: 0;
    margin-right: auto;
  }
  .fto-adm-ui .support-feedback-table .support-feedback-row__actions.col-action .btn--view {
    margin-left: auto;
    flex-shrink: 0;
  }
}
.fto-adm-ui .student-list-table {
  width: 100%;
}
.fto-adm-ui .student-list-table .table-head,
.fto-adm-ui .student-list-table .fto-directory-row.student-list-row {
  grid-template-columns: minmax(120px, 1.1fr) minmax(140px, 1.1fr) minmax(105px, 0.85fr) minmax(160px, 1.35fr) minmax(100px, 0.8fr) minmax(100px, 0.8fr) minmax(130px, 0.95fr) minmax(88px, auto);
  width: 100%;
  min-width: 1180px;
  box-sizing: border-box;
  padding-left: 1rem;
  padding-right: 1rem;
  column-gap: 0.75rem;
}
.fto-adm-ui .student-list-table .table-head > span:nth-child(1),
.fto-adm-ui .student-list-table .fto-directory-row.student-list-row > :nth-child(1) {
  text-align: left;
  justify-self: start;
  align-items: flex-start;
}
.fto-adm-ui .student-list-table .table-head > span:nth-child(1) .sa-directory-sort-btn,
.fto-adm-ui .student-list-table .fto-directory-row.student-list-row > :nth-child(1) .sa-directory-sort-btn {
  justify-content: flex-start;
  width: 100%;
}
.fto-adm-ui .student-list-table .table-head > span:nth-child(1) .table-head__label,
.fto-adm-ui .student-list-table .fto-directory-row.student-list-row > :nth-child(1) .table-head__label {
  justify-content: flex-start;
}
.fto-adm-ui .student-list-table .table-head > span:nth-child(1) .table-head__filter,
.fto-adm-ui .student-list-table .fto-directory-row.student-list-row > :nth-child(1) .table-head__filter {
  text-align: left;
}
.fto-adm-ui .student-list-table .table-head > span:nth-child(1),
.fto-adm-ui .student-list-table .fto-directory-row.student-list-row > :nth-child(1) {
  justify-self: start;
  text-align: left;
}
.fto-adm-ui .student-list-table .fto-directory-row.student-list-row > :nth-child(1) {
  justify-self: start !important;
  text-align: left !important;
  font-weight: 600;
  color: #1a2b42;
}
.fto-adm-ui .student-list-table .fto-directory-row.student-list-row .col-text--module {
  word-break: break-word;
  overflow-wrap: anywhere;
}
.fto-adm-ui .student-list-table .fto-directory-row.student-list-row .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.fto-adm-ui .student-list-table .fto-directory-row.student-list-row .col-action .btn--view {
  padding: 0.35rem 0.65rem;
  font-size: 0.6875rem;
}
.fto-adm-ui .prospective-students-directory .directory__header--tools-split .directory__search {
  margin-left: auto;
}
.fto-adm-ui .prospective-students-table {
  width: 100%;
}
@media (min-width: 992px) {
  .fto-adm-ui .prospective-students-table .table-head,
  .fto-adm-ui .prospective-students-table .fto-directory-row.prospective-students-row {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr) minmax(0, 0.8fr) minmax(0, 0.9fr) minmax(0, 0.45fr) minmax(0, 1fr) minmax(0, 0.7fr) minmax(0, 0.8fr) minmax(152px, 1.2fr) minmax(88px, auto);
    width: 100%;
    min-width: 1180px;
    box-sizing: border-box;
    padding-left: 1rem;
    padding-right: 1rem;
    column-gap: 0.65rem;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .prospective-students-table .table-head,
  .fto-adm-ui .prospective-students-table .fto-directory-row.prospective-students-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(1),
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(2),
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(3),
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(4),
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(6) {
  text-align: left;
  justify-self: start;
  align-items: flex-start;
}
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(1) .sa-directory-sort-btn,
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(2) .sa-directory-sort-btn,
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(3) .sa-directory-sort-btn,
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(4) .sa-directory-sort-btn,
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(6) .sa-directory-sort-btn {
  justify-content: flex-start;
  width: 100%;
}
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(1) .table-head__label,
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(2) .table-head__label,
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(3) .table-head__label,
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(4) .table-head__label,
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(6) .table-head__label {
  justify-content: flex-start;
}
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(1) .table-head__filter,
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(2) .table-head__filter,
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(3) .table-head__filter,
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(4) .table-head__filter,
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(6) .table-head__filter {
  text-align: left;
}
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(1),
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(2),
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(3),
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(4),
.fto-adm-ui .prospective-students-table .table-head > span:nth-child(6) {
  justify-self: start;
  text-align: left;
}
.fto-adm-ui .prospective-students-table .fto-directory-row.prospective-students-row > :nth-child(1),
.fto-adm-ui .prospective-students-table .fto-directory-row.prospective-students-row > :nth-child(2),
.fto-adm-ui .prospective-students-table .fto-directory-row.prospective-students-row > :nth-child(3),
.fto-adm-ui .prospective-students-table .fto-directory-row.prospective-students-row > :nth-child(4),
.fto-adm-ui .prospective-students-table .fto-directory-row.prospective-students-row > :nth-child(6) {
  justify-self: start !important;
  text-align: left !important;
}
@media (min-width: 992px) {
  .fto-adm-ui .prospective-students-table--lead-grid .table-head,
  .fto-adm-ui .prospective-students-table--lead-grid .fto-directory-row.prospective-students-row {
    grid-template-columns: minmax(110px, 1fr) minmax(150px, 1.2fr) minmax(120px, 0.95fr) minmax(130px, 1.1fr) minmax(110px, 0.8fr) minmax(120px, 0.9fr) minmax(148px, 1.15fr) minmax(88px, auto);
    min-width: 1080px;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    column-gap: 0.75rem;
  }
}
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(1),
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(2),
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(3),
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(4) {
  text-align: left;
  justify-self: start;
  align-items: flex-start;
}
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(1) .sa-directory-sort-btn,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(2) .sa-directory-sort-btn,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(3) .sa-directory-sort-btn,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(4) .sa-directory-sort-btn {
  justify-content: flex-start;
  width: 100%;
}
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(1) .table-head__label,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(2) .table-head__label,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(3) .table-head__label,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(4) .table-head__label {
  justify-content: flex-start;
}
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(1) .table-head__filter,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(2) .table-head__filter,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(3) .table-head__filter,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(4) .table-head__filter {
  text-align: left;
}
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(1),
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(2),
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(3),
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(4) {
  justify-self: start;
  text-align: left;
}
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(5),
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(6),
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(7),
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(8) {
  text-align: center;
  justify-self: center;
  align-items: center;
}
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(5) .sa-directory-sort-btn,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(6) .sa-directory-sort-btn,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(7) .sa-directory-sort-btn,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(8) .sa-directory-sort-btn {
  justify-content: center;
  width: 100%;
}
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(5) .table-head__label,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(6) .table-head__label,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(7) .table-head__label,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(8) .table-head__label {
  justify-content: center;
}
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(5) .table-head__filter,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(6) .table-head__filter,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(7) .table-head__filter,
.fto-adm-ui .prospective-students-table--lead-grid .table-head > span:nth-child(8) .table-head__filter {
  text-align: center;
}
.fto-adm-ui .prospective-students-table--lead-grid .fto-directory-row.prospective-students-row > :nth-child(1),
.fto-adm-ui .prospective-students-table--lead-grid .fto-directory-row.prospective-students-row > :nth-child(2),
.fto-adm-ui .prospective-students-table--lead-grid .fto-directory-row.prospective-students-row > :nth-child(3),
.fto-adm-ui .prospective-students-table--lead-grid .fto-directory-row.prospective-students-row > :nth-child(4) {
  justify-self: start !important;
  text-align: left !important;
}
.fto-adm-ui .prospective-students-table--lead-grid .fto-directory-row.prospective-students-row > :nth-child(5),
.fto-adm-ui .prospective-students-table--lead-grid .fto-directory-row.prospective-students-row > :nth-child(6),
.fto-adm-ui .prospective-students-table--lead-grid .fto-directory-row.prospective-students-row > :nth-child(7),
.fto-adm-ui .prospective-students-table--lead-grid .fto-directory-row.prospective-students-row > :nth-child(8) {
  justify-self: center !important;
  text-align: center !important;
}
@media (min-width: 992px) {
  .fto-adm-ui .prospective-students-table .fto-directory-row.prospective-students-row > .col-text:not(.prospective-students-row__status) {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }
}
@media (min-width: 992px) {
  .fto-adm-ui .prospective-students-table .fto-directory-row.prospective-students-row > .col-action {
    min-width: 0;
    overflow: visible;
  }
}
@media (min-width: 992px) {
  .fto-adm-ui .prospective-students-table .fto-directory-row.prospective-students-row > .prospective-students-row__status {
    min-width: 0;
    overflow: visible;
  }
}
.fto-adm-ui .prospective-students-table .fto-directory-row.prospective-students-row > :nth-child(1) {
  font-weight: 600;
  color: #1a2b42;
}
.fto-adm-ui .prospective-students-table .prospective-students-row__name-link {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #1F4169;
  font-weight: 700;
  text-decoration: none;
}
.fto-adm-ui .prospective-students-table .prospective-students-row__name-link:hover, .fto-adm-ui .prospective-students-table .prospective-students-row__name-link:focus-visible {
  text-decoration: underline;
}
@media (min-width: 992px) {
  .fto-adm-ui .prospective-students-table .fto-directory-row.prospective-students-row > .col-text:not(.prospective-students-row__contact):not(.prospective-students-row__status):not(.prospective-students-row__followup):not(.col-action) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
@media (min-width: 992px) {
  .fto-adm-ui .prospective-students-table .fto-directory-row.prospective-students-row .col-text--module {
    min-width: 0;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
.fto-adm-ui .prospective-students-table .prospective-students-row__contact {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.25rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding-right: 0.5rem;
}
@media (min-width: 992px) {
  .fto-adm-ui .prospective-students-table .prospective-students-row__contact {
    flex-wrap: nowrap;
    overflow: hidden;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .prospective-students-table .prospective-students-row__contact {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 0.35rem;
    text-align: left !important;
    word-break: normal;
  }
  .fto-adm-ui .prospective-students-table .prospective-students-row__contact::before {
    margin-right: auto;
    flex: 0 0 auto;
    max-width: 42%;
  }
  .fto-adm-ui .prospective-students-table .prospective-students-row__contact .prospective-students-row__contact-text {
    flex: 0 1 auto;
    min-width: 0;
    max-width: min(58%, 14rem);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: right;
  }
  .fto-adm-ui .prospective-students-table .prospective-students-row__contact .prospective-students-row__verified {
    flex: 0 0 auto;
    margin-left: 0;
    font-size: 0.95rem;
  }
}
.fto-adm-ui .prospective-students-table .prospective-students-row__contact-text {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
}
@media (min-width: 992px) {
  .fto-adm-ui .prospective-students-table .prospective-students-row__contact-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.fto-adm-ui .prospective-students-table .prospective-students-row__verified {
  font-size: 0.95rem;
  color: #2f9e44;
  flex: 0 0 auto;
  margin-left: 0.1rem;
}
.fto-adm-ui .prospective-students-table .prospective-students-row__status {
  color: #6b7c93;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .prospective-students-table .prospective-students-row__status .lead-status-badge {
  flex-shrink: 0;
  box-sizing: border-box;
}
.fto-adm-ui .prospective-students-table .prospective-students-row__followup {
  min-width: 0;
  max-width: 100%;
}
.fto-adm-ui .prospective-students-table .col-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .prospective-students-table .col-action {
    justify-content: flex-start;
  }
}
.fto-adm-ui .prospective-students-table .col-action .btn--view {
  flex-shrink: 0;
  white-space: nowrap;
}
@media (min-width: 992px) {
  .fto-adm-ui .student-subscription-table .table-head,
  .fto-adm-ui .student-subscription-table .fto-directory-row.student-subscription-row {
    grid-template-columns: minmax(110px, 0.95fr) minmax(150px, 1.35fr) repeat(7, minmax(90px, 1fr));
    min-width: 1120px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .student-subscription-table .table-head,
  .fto-adm-ui .student-subscription-table .fto-directory-row.student-subscription-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .student-subscription-table .fto-directory-row.student-subscription-row .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
}
.fto-adm-ui .student-subscription-table .table-head > span:nth-child(1),
.fto-adm-ui .student-subscription-table .table-head > span:nth-child(2),
.fto-adm-ui .student-subscription-table .table-head > span:nth-child(3) {
  text-align: left;
  justify-self: start;
  align-items: flex-start;
}
.fto-adm-ui .student-subscription-table .table-head > span:nth-child(1) .sa-directory-sort-btn,
.fto-adm-ui .student-subscription-table .table-head > span:nth-child(2) .sa-directory-sort-btn,
.fto-adm-ui .student-subscription-table .table-head > span:nth-child(3) .sa-directory-sort-btn {
  justify-content: flex-start;
  width: 100%;
}
.fto-adm-ui .student-subscription-table .table-head > span:nth-child(1) .table-head__label,
.fto-adm-ui .student-subscription-table .table-head > span:nth-child(2) .table-head__label,
.fto-adm-ui .student-subscription-table .table-head > span:nth-child(3) .table-head__label {
  justify-content: flex-start;
}
.fto-adm-ui .student-subscription-table .table-head > span:nth-child(1) .table-head__filter,
.fto-adm-ui .student-subscription-table .table-head > span:nth-child(2) .table-head__filter,
.fto-adm-ui .student-subscription-table .table-head > span:nth-child(3) .table-head__filter {
  text-align: left;
}
.fto-adm-ui .student-subscription-table .table-head > span:nth-child(1),
.fto-adm-ui .student-subscription-table .table-head > span:nth-child(2),
.fto-adm-ui .student-subscription-table .table-head > span:nth-child(3) {
  justify-self: start;
  text-align: left;
}
.fto-adm-ui .student-subscription-table .fto-directory-row.student-subscription-row > :nth-child(1),
.fto-adm-ui .student-subscription-table .fto-directory-row.student-subscription-row > :nth-child(2),
.fto-adm-ui .student-subscription-table .fto-directory-row.student-subscription-row > :nth-child(3) {
  justify-self: start !important;
  text-align: left !important;
}
.fto-adm-ui .student-subscription-table .student-subscription-discount {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.1rem;
  max-width: 100%;
  line-height: 1.2;
  text-align: center;
}
.fto-adm-ui .student-subscription-table .student-subscription-discount--none {
  color: #94a3b8;
}
.fto-adm-ui .student-subscription-table .student-subscription-discount__type {
  font-size: 0.75rem;
  font-weight: 500;
  color: #64748b;
}
.fto-adm-ui .student-subscription-table .student-subscription-discount__value {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #0c1f3d;
  white-space: nowrap;
}
@media (min-width: 992px) {
  .fto-adm-ui .student-live-classes-table .table-head,
  .fto-adm-ui .student-live-classes-table .fto-directory-row.student-live-classes-row {
    grid-template-columns: minmax(180px, 1.6fr) minmax(120px, 0.75fr) minmax(100px, 0.65fr);
    min-width: 560px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .student-live-classes-table .table-head,
  .fto-adm-ui .student-live-classes-table .fto-directory-row.student-live-classes-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .student-live-classes-table .fto-directory-row.student-live-classes-row .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
}
@media (min-width: 992px) {
  .fto-adm-ui .student-dgca-table .table-head,
  .fto-adm-ui .student-dgca-table .fto-directory-row.student-dgca-row {
    grid-template-columns: minmax(150px, 1.25fr) repeat(3, minmax(120px, 1fr));
    min-width: 720px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .student-dgca-table .table-head,
  .fto-adm-ui .student-dgca-table .fto-directory-row.student-dgca-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .student-dgca-table .fto-directory-row.student-dgca-row .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
}
@media (min-width: 992px) {
  .fto-adm-ui .student-dgca-tech-table .table-head,
  .fto-adm-ui .student-dgca-tech-table .fto-directory-row.student-dgca-tech-row {
    grid-template-columns: repeat(3, minmax(120px, 1fr));
    min-width: 480px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .student-dgca-tech-table .table-head,
  .fto-adm-ui .student-dgca-tech-table .fto-directory-row.student-dgca-tech-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .student-dgca-tech-table .fto-directory-row.student-dgca-tech-row .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
}
@media (min-width: 992px) {
  .fto-adm-ui .student-referral-table .table-head,
  .fto-adm-ui .student-referral-table .fto-directory-row.student-referral-row {
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    min-width: 640px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .student-referral-table .table-head,
  .fto-adm-ui .student-referral-table .fto-directory-row.student-referral-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .student-referral-table .fto-directory-row.student-referral-row .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
}
@media (min-width: 992px) {
  .fto-adm-ui .student-support-table .table-head,
  .fto-adm-ui .student-support-table .fto-directory-row.student-support-row {
    grid-template-columns: minmax(90px, 0.75fr) minmax(180px, 1.5fr) minmax(120px, 0.9fr) minmax(90px, 0.7fr) 36px;
    min-width: 760px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .student-support-table .table-head,
  .fto-adm-ui .student-support-table .fto-directory-row.student-support-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .student-support-table .fto-directory-row.student-support-row .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
}
@media (min-width: 992px) {
  .fto-adm-ui .student-feedback-table .table-head,
  .fto-adm-ui .student-feedback-table .fto-directory-row.student-feedback-row {
    grid-template-columns: minmax(90px, 0.75fr) minmax(180px, 1.5fr) minmax(120px, 0.9fr) minmax(90px, 0.7fr) 36px;
    min-width: 760px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .student-feedback-table .table-head,
  .fto-adm-ui .student-feedback-table .fto-directory-row.student-feedback-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .student-feedback-table .fto-directory-row.student-feedback-row .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
}
@media (min-width: 992px) {
  .fto-adm-ui .student-activity-table .table-head,
  .fto-adm-ui .student-activity-table .fto-directory-row.student-activity-row {
    grid-template-columns: minmax(150px, 1fr) minmax(120px, 0.8fr) minmax(220px, 1.6fr);
    min-width: 560px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .student-activity-table .table-head,
  .fto-adm-ui .student-activity-table .fto-directory-row.student-activity-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .student-activity-table .fto-directory-row.student-activity-row .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
}
@media (min-width: 992px) {
  .fto-adm-ui .student-device-table .table-head,
  .fto-adm-ui .student-device-table .fto-directory-row.student-device-row {
    grid-template-columns: minmax(90px, 0.7fr) minmax(90px, 0.7fr) minmax(260px, 2fr) minmax(150px, 0.9fr);
    min-width: 680px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .student-device-table .table-head,
  .fto-adm-ui .student-device-table .fto-directory-row.student-device-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .student-device-table .fto-directory-row.student-device-row .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
}
@media (min-width: 992px) {
  .fto-adm-ui .student-sub-logs-table .table-head,
  .fto-adm-ui .student-sub-logs-table .fto-directory-row.student-sub-logs-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-width: 100%;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .student-sub-logs-table .table-head,
  .fto-adm-ui .student-sub-logs-table .fto-directory-row.student-sub-logs-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .student-view-page .st-view__actions .btn {
  white-space: nowrap;
}
.fto-adm-ui .student-view-page .st-view__accordion-body .directory {
  margin-bottom: 0;
  padding: 1rem;
  border-radius: 18px;
}
.fto-adm-ui .student-view-page .student-feedback-directory__panel-title {
  margin-bottom: 0.75rem;
}
@media (min-width: 992px) {
  .fto-adm-ui .student-view-page .st-view__accordion-body .table-wrap {
    overflow-x: auto;
  }
  .fto-adm-ui .student-view-page .st-view__accordion-body .table-head {
    display: grid;
    padding-bottom: 0.75rem;
  }
  .fto-adm-ui .student-view-page .st-view__accordion-body .table-head > span {
    min-height: 52px;
  }
}
.fto-adm-ui .programs-packages-table .table-head,
.fto-adm-ui .programs-packages-table .fto-directory-row.programs-package-row {
  grid-template-columns: minmax(120px, 0.9fr) minmax(88px, 1fr) minmax(180px, 1.4fr) minmax(72px, 0.7fr) minmax(110px, 0.85fr) calc(72px + 36px * 2 + 0.35rem * 2);
  min-width: 1040px;
}
.fto-adm-ui .programs-packages-table .programs-row__status {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .programs-packages-table .programs-row__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin-left: auto;
}
.fto-adm-ui .programs-packages-table .programs-row__actions .resources-img {
  width: 17px;
  height: 18px;
  max-width: 17px;
  max-height: 18px;
  border-radius: 0;
  object-fit: contain;
}
.fto-adm-ui .programs-packages-table .col-profile img {
  width: auto;
  height: auto;
  border-radius: 0;
  object-fit: contain;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .programs-packages-table .table-head,
  .fto-adm-ui .programs-packages-table .fto-directory-row.programs-package-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
  .fto-adm-ui .programs-packages-table .programs-row__actions {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    justify-content: flex-end;
    box-sizing: border-box;
  }
}
.fto-adm-ui .notifications-general-table {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.15rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(31, 65, 105, 0.22) rgba(31, 65, 105, 0.06);
}
.fto-adm-ui .notifications-general-table::-webkit-scrollbar {
  height: 8px;
}
.fto-adm-ui .notifications-general-table::-webkit-scrollbar-thumb {
  background: rgba(31, 65, 105, 0.22);
  border-radius: 999px;
}
.fto-adm-ui .notifications-general-table::-webkit-scrollbar-track {
  background: rgba(31, 65, 105, 0.06);
  border-radius: 999px;
}
.fto-adm-ui .notifications-general-table + .list-pagination {
  margin-top: 0.85rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
@media (min-width: 1310px) {
  .fto-adm-ui .notifications-general-table .table-head,
  .fto-adm-ui .notifications-general-table .notifications-general-row {
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.15fr) minmax(0, 0.85fr) minmax(0, 0.5fr) minmax(0, 0.8fr) minmax(0, 0.9fr) 120px calc(72px + 0.35rem);
    column-gap: 0.65rem;
    min-width: 0;
    width: 100%;
  }
  .fto-adm-ui .notifications-general-table .table-head {
    align-items: center;
  }
  .fto-adm-ui .notifications-general-table .notifications-general-row {
    align-items: center;
  }
  .fto-adm-ui .notifications-general-table .table-head > span:nth-child(-n+6) {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .fto-adm-ui .notifications-general-table .table-head > span:nth-child(-n+6) .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .fto-adm-ui .notifications-general-table .table-head > span:nth-child(-n+6) .table-head__label {
    justify-content: flex-start;
  }
  .fto-adm-ui .notifications-general-table .table-head > span:nth-child(-n+6) .table-head__filter {
    text-align: left;
  }
  .fto-adm-ui .notifications-general-table .table-head > span:nth-child(-n+6) {
    min-width: 0;
  }
  .fto-adm-ui .notifications-general-table .table-head > span:nth-child(n+7) {
    text-align: center;
    justify-self: center;
    align-items: center;
  }
  .fto-adm-ui .notifications-general-table .table-head > span:nth-child(n+7) .sa-directory-sort-btn {
    justify-content: center;
    width: 100%;
  }
  .fto-adm-ui .notifications-general-table .table-head > span:nth-child(n+7) .table-head__label {
    justify-content: center;
  }
  .fto-adm-ui .notifications-general-table .table-head > span:nth-child(n+7) .table-head__filter {
    text-align: center;
  }
  .fto-adm-ui .notifications-general-table .notifications-general-row > :nth-child(-n+6) {
    justify-self: start !important;
    text-align: left !important;
    text-align: left;
    align-self: center;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }
  .fto-adm-ui .notifications-general-table .notifications-general-row > :nth-child(n+7) {
    justify-self: center;
    text-align: center;
    align-self: center;
    min-width: 0;
  }
  .fto-adm-ui .notifications-general-table .notifications-general-row > .notifications-row__status {
    flex-shrink: 0;
    overflow: visible;
    width: 100%;
    max-width: 120px;
  }
  .fto-adm-ui .notifications-general-table .notifications-general-row > .col-text--wrap,
  .fto-adm-ui .notifications-general-table .notifications-general-row > .notifications-list__name,
  .fto-adm-ui .notifications-general-table .notifications-general-row > .notifications-list__modules {
    justify-self: stretch;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: normal;
    overflow-wrap: normal;
    max-width: 100%;
  }
  .fto-adm-ui .notifications-general-table .notifications-list__name-inner,
  .fto-adm-ui .notifications-general-table .notifications-list__name-text,
  .fto-adm-ui .notifications-general-table .notifications-list__name-meta {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fto-adm-ui .notifications-general-table .notifications-list__modules {
    display: block;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
@media (max-width: 1309.98px) {
  .fto-adm-ui .notifications-general-table .table-head,
  .fto-adm-ui .notifications-general-table .notifications-general-row {
    grid-template-columns: minmax(140px, 0.85fr) minmax(170px, 1.15fr) minmax(140px, 0.9fr) minmax(90px, 0.55fr) minmax(130px, 0.85fr) minmax(180px, 1fr) 120px calc(72px + 0.35rem);
    column-gap: 0.75rem;
    min-width: 1280px;
  }
  .fto-adm-ui .notifications-general-table .table-head {
    align-items: center;
  }
  .fto-adm-ui .notifications-general-table .notifications-general-row {
    align-items: center;
  }
  .fto-adm-ui .notifications-general-table .notifications-general-row > .col-text--wrap,
  .fto-adm-ui .notifications-general-table .notifications-general-row > .notifications-list__name,
  .fto-adm-ui .notifications-general-table .notifications-general-row > .notifications-list__modules {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    min-width: 0;
  }
  .fto-adm-ui .notifications-general-table .notifications-list__name-inner,
  .fto-adm-ui .notifications-general-table .notifications-list__name-text,
  .fto-adm-ui .notifications-general-table .notifications-list__name-meta {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fto-adm-ui .notifications-general-table .notifications-list__modules {
    display: block;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
.fto-adm-ui .notifications-general-table .notifications-list__name {
  min-width: 0;
}
.fto-adm-ui .notifications-general-table .notifications-list__name-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  min-width: 0;
  max-width: 100%;
}
.fto-adm-ui .notifications-general-table .notifications-list__name-text {
  display: block;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.35;
}
.fto-adm-ui .notifications-general-table .notifications-list__name-meta {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6b7c93;
  line-height: 1.35;
}
.fto-adm-ui .notifications-general-table .notifications-list__modules {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
  line-height: 1.35;
}
.fto-adm-ui .notifications-general-table .notifications-list__module {
  display: inline;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .notifications-general-table .notifications-list__modules[data-mobile-label] {
    text-align: left;
  }
  .fto-adm-ui .notifications-general-table .notifications-list__modules[data-mobile-label]::before {
    width: 100%;
    margin-bottom: 0.1rem;
  }
}
.fto-adm-ui .notifications-email-table {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.15rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(31, 65, 105, 0.22) rgba(31, 65, 105, 0.06);
}
.fto-adm-ui .notifications-email-table::-webkit-scrollbar {
  height: 8px;
}
.fto-adm-ui .notifications-email-table::-webkit-scrollbar-thumb {
  background: rgba(31, 65, 105, 0.22);
  border-radius: 999px;
}
.fto-adm-ui .notifications-email-table::-webkit-scrollbar-track {
  background: rgba(31, 65, 105, 0.06);
  border-radius: 999px;
}
.fto-adm-ui .notifications-email-table + .list-pagination {
  margin-top: 0.85rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
@media (min-width: 992px) {
  .fto-adm-ui .notifications-email-table .table-head,
  .fto-adm-ui .notifications-email-table .notifications-email-row {
    grid-template-columns: minmax(120px, 1fr) minmax(140px, 1.15fr) minmax(100px, 0.85fr) minmax(108px, 0.95fr) minmax(220px, 1.25fr) minmax(96px, 0.7fr) calc(108px + 0.7rem);
    min-width: 1200px;
  }
  .fto-adm-ui .notifications-email-table .table-head {
    align-items: center;
  }
  .fto-adm-ui .notifications-email-table .notifications-email-row {
    align-items: start;
  }
  .fto-adm-ui .notifications-email-table .table-head > span:nth-child(-n+6) {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .fto-adm-ui .notifications-email-table .table-head > span:nth-child(-n+6) .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .fto-adm-ui .notifications-email-table .table-head > span:nth-child(-n+6) .table-head__label {
    justify-content: flex-start;
  }
  .fto-adm-ui .notifications-email-table .table-head > span:nth-child(-n+6) .table-head__filter {
    text-align: left;
  }
  .fto-adm-ui .notifications-email-table .table-head > span:nth-child(7) {
    text-align: center;
    justify-self: center;
    align-items: center;
  }
  .fto-adm-ui .notifications-email-table .table-head > span:nth-child(7) .sa-directory-sort-btn {
    justify-content: center;
    width: 100%;
  }
  .fto-adm-ui .notifications-email-table .table-head > span:nth-child(7) .table-head__label {
    justify-content: center;
  }
  .fto-adm-ui .notifications-email-table .table-head > span:nth-child(7) .table-head__filter {
    text-align: center;
  }
  .fto-adm-ui .notifications-email-table .notifications-email-row > :nth-child(-n+6) {
    justify-self: start !important;
    text-align: left !important;
    text-align: left;
    align-self: start;
  }
  .fto-adm-ui .notifications-email-table .notifications-email-row > :nth-child(7) {
    justify-self: center;
    text-align: center;
    align-self: center;
  }
  .fto-adm-ui .notifications-email-table .notifications-email-row > .col-text--wrap,
  .fto-adm-ui .notifications-email-table .notifications-email-row > .notifications-list__modules {
    justify-self: stretch;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
}
.fto-adm-ui .notifications-email-table .notifications-list__modules {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.15rem;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: unset;
  white-space: normal;
  text-align: left;
}
.fto-adm-ui .notifications-email-table .notifications-list__module {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  text-align: left;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-break: break-word;
  overflow-wrap: anywhere;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .notifications-email-table .notifications-list__modules[data-mobile-label] {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }
  .fto-adm-ui .notifications-email-table .notifications-list__modules[data-mobile-label]::before {
    width: 100%;
    margin-bottom: 0.1rem;
  }
}
.fto-adm-ui .notifications-templates-table {
  overflow-x: visible;
}
.fto-adm-ui .notifications-templates-table .table-head,
.fto-adm-ui .notifications-templates-table .notifications-template-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr) minmax(0, 0.55fr) minmax(0, 0.65fr) calc(108px + 0.7rem);
  min-width: 0;
}
.fto-adm-ui .notifications-list__title {
  display: block;
  width: 100%;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.fto-adm-ui .notifications-list__title.notifications-list__title--truncatable {
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fto-adm-ui .notifications-list__title.is-title-expanded {
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}
.fto-adm-ui .notifications-row__status,
.fto-adm-ui .notifications-row__actions {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .notifications-row__actions {
  gap: 0.35rem;
}
.fto-adm-ui .notifications-row__actions .resources-action i {
  font-size: 1rem;
  color: #0c1f3d;
}
.fto-adm-ui .notifications-row__actions .resources-img {
  width: 17px;
  height: 18px;
  max-width: 17px;
  max-height: 18px;
  border-radius: 0;
  object-fit: contain;
}
.fto-adm-ui .notifications-list__default-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 600;
  background: rgba(12, 31, 61, 0.08);
  color: #0c1f3d;
}
.fto-adm-ui .faqs-table {
  overflow-x: auto;
}
.fto-adm-ui .faqs-table .table-head,
.fto-adm-ui .faqs-table .faqs-row {
  grid-template-columns: 36px 52px minmax(200px, 1.3fr) minmax(240px, 1.7fr) minmax(96px, 0.55fr) calc(72px + 36px * 2 + 0.35rem * 2);
  min-width: 860px;
}
.fto-adm-ui .faqs-table .table-head > span:nth-child(3),
.fto-adm-ui .faqs-table .table-head > span:nth-child(4) {
  text-align: left;
  justify-self: start;
  align-items: flex-start;
}
.fto-adm-ui .faqs-table .table-head > span:nth-child(3) .sa-directory-sort-btn,
.fto-adm-ui .faqs-table .table-head > span:nth-child(4) .sa-directory-sort-btn {
  justify-content: flex-start;
  width: 100%;
}
.fto-adm-ui .faqs-table .table-head > span:nth-child(3) .table-head__label,
.fto-adm-ui .faqs-table .table-head > span:nth-child(4) .table-head__label {
  justify-content: flex-start;
}
.fto-adm-ui .faqs-table .table-head > span:nth-child(3) .table-head__filter,
.fto-adm-ui .faqs-table .table-head > span:nth-child(4) .table-head__filter {
  text-align: left;
}
.fto-adm-ui .faqs-table .faqs-row > :nth-child(3),
.fto-adm-ui .faqs-table .faqs-row > :nth-child(4) {
  justify-self: start !important;
  text-align: left !important;
}
.fto-adm-ui .faqs-table .faqs-row__drag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
}
.fto-adm-ui .faqs-table .col-sn {
  font-weight: 600;
  color: #6b7c93;
  font-size: 12px;
  justify-self: center;
  text-align: center;
}
.fto-adm-ui .faqs-list__question,
.fto-adm-ui .faqs-list__answer {
  min-width: 0;
  width: 100%;
}
.fto-adm-ui .faqs-list__question {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.fto-adm-ui .faqs-row__handle {
  margin-top: 0;
}
.fto-adm-ui .faqs-list__text {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.fto-adm-ui .faqs-list__text--answer {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.fto-adm-ui .faqs-row__status,
.fto-adm-ui .faqs-row__actions {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .faqs-row__actions {
  gap: 0.5rem;
}
.fto-adm-ui .faqs-row__actions .resources-img {
  width: 17px;
  height: 18px;
  max-width: 17px;
  max-height: 18px;
  border-radius: 0;
  object-fit: contain;
}
.fto-adm-ui .faqs-row__actions .resources-action i {
  font-size: 17px;
  line-height: 1;
}
.fto-adm-ui .faqs-row--sortable-ghost {
  opacity: 0.45;
  outline: 1px dashed rgba(12, 31, 61, 0.35);
  outline-offset: 2px;
}
.fto-adm-ui .faqs-row--sortable-chosen {
  box-shadow: 0 4px 14px rgba(12, 31, 61, 0.12);
}
.fto-adm-ui .blogs-table {
  overflow-x: auto;
}
.fto-adm-ui .blogs-table .table-head,
.fto-adm-ui .blogs-table .blogs-row {
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.75fr) minmax(0, 0.72fr) minmax(0, 0.72fr) calc(72px + 36px * 2 + 0.35rem * 2);
  min-width: 860px;
}
.fto-adm-ui .blogs-table .table-head > span:nth-child(1),
.fto-adm-ui .blogs-table .blogs-row__title {
  text-align: left;
  justify-self: start;
  align-items: flex-start;
}
.fto-adm-ui .blogs-table .table-head > span:nth-child(1) .sa-directory-sort-btn,
.fto-adm-ui .blogs-table .blogs-row__title .sa-directory-sort-btn {
  justify-content: flex-start;
  width: 100%;
}
.fto-adm-ui .blogs-table .table-head > span:nth-child(1) .table-head__label,
.fto-adm-ui .blogs-table .blogs-row__title .table-head__label {
  justify-content: flex-start;
}
.fto-adm-ui .blogs-table .table-head > span:nth-child(1) .table-head__filter,
.fto-adm-ui .blogs-table .blogs-row__title .table-head__filter {
  text-align: left;
}
.fto-adm-ui .blogs-table .table-head > span:nth-child(1),
.fto-adm-ui .blogs-table .blogs-row__title {
  justify-self: start;
  text-align: left;
}
.fto-adm-ui .blogs-table .blogs-row__title strong {
  display: block;
  color: #1a2b42;
  font-weight: 700;
  line-height: 1.35;
}
.fto-adm-ui .blogs-table .blogs-row__category {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  background: #eaf4fb;
  color: #1f4169;
  font-size: 0.72rem;
  font-weight: 600;
  white-space: nowrap;
}
.fto-adm-ui .blogs-table .blogs-row__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}
.fto-adm-ui .blogs-directory__filter-btn {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  flex-shrink: 0;
  height: 42px;
  min-height: 42px;
  min-width: 10.5rem;
  padding: 0 36px 0 16px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7c93' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  color: #1a2b42;
  line-height: 1.25;
  cursor: pointer;
}
.fto-adm-ui .blogs-directory__filter-btn[type=date] {
  padding-right: 2.65rem;
  background-image: none;
  color-scheme: light;
}
.fto-adm-ui .blogs-directory__filter-btn:focus, .fto-adm-ui .blogs-directory__filter-btn:focus-visible {
  outline: none;
  box-shadow: none;
  border-color: #e2e8f0;
}
.fto-adm-ui .blogs-directory__date-wrap {
  flex-shrink: 0;
  width: auto;
  min-width: 10.5rem;
  cursor: pointer;
}
.fto-adm-ui .blogs-directory__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input.blogs-directory__filter-btn {
  position: relative;
  width: 100%;
  min-width: 10.5rem;
}
.fto-adm-ui .blogs-directory__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__display {
  left: 16px;
  right: 2.65rem;
  font-size: 13px;
  font-weight: 600;
}
.fto-adm-ui .blogs-directory__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__display:not(.is-placeholder) {
  color: #1a2b42;
  font-weight: 600;
}
.fto-adm-ui .blogs-directory__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__icon {
  right: 14px;
  font-size: 0.95rem;
}
.fto-adm-ui .blog-form .form-row {
  display: grid;
  gap: 1rem;
  margin-bottom: 1rem;
  min-width: 0;
}
.fto-adm-ui .blog-form .form-row--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.fto-adm-ui .blog-form .form-row--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.fto-adm-ui .blog-form .form-row--one {
  grid-template-columns: 1fr;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .blog-form .form-row--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767.98px) {
  .fto-adm-ui .blog-form .form-row--two, .fto-adm-ui .blog-form .form-row--three {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .blog-form .form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 0;
  min-width: 0;
}
.fto-adm-ui .blog-form .form-field > label {
  margin-left: 18px;
  font-size: 13px;
  font-weight: 600;
  color: #1a2b42;
}
.fto-adm-ui .blog-form .form-field__required {
  color: #F15B55;
  margin-left: 2px;
}
.fto-adm-ui .blog-form .form-field__label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
}
.fto-adm-ui .blog-form .form-field__label-row > label {
  margin: 0 0 0 18px;
  font-size: 13px;
  font-weight: 600;
  color: #1a2b42;
}
.fto-adm-ui .blog-form .form-field__hint {
  margin: 0 18px 0 0;
  padding-left: 0;
  text-align: right;
  flex-shrink: 1;
  min-width: 0;
  font-size: 11px;
  color: #6b7c93;
}
.fto-adm-ui .blog-form .form-field__control {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.fto-adm-ui .blog-form .form-field__control input:not([type=file]) {
  width: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 14px 18px;
  font-family: inherit;
  font-size: 13px;
  color: #1a2b42;
  background: #fff;
  outline: none;
  transition: border-color 0.15s;
  box-sizing: border-box;
}
.fto-adm-ui .blog-form .form-field__control input:not([type=file])::placeholder {
  color: #a0aec0;
}
.fto-adm-ui .blog-form .form-field__control input:not([type=file]):focus {
  border-color: rgba(12, 31, 61, 0.35);
}
.fto-adm-ui .blog-form .form-field__control--doc {
  cursor: pointer;
}
.fto-adm-ui .blog-form .form-field__control--doc input[type=file] {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 46px;
  opacity: 0;
  cursor: pointer;
  width: auto;
  height: 100%;
  padding: 0;
  border: none;
  z-index: 2;
}
.fto-adm-ui .blog-form .form-field__control--doc .form-field__file-label {
  padding: 14px 72px 14px 18px;
}
.fto-adm-ui .blog-form .form-field__control--doc:focus-within .form-field__file-label {
  border-color: rgba(12, 31, 61, 0.35);
}
.fto-adm-ui .blog-form .form-field__file-label {
  display: block;
  width: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 14px 18px 14px 44px;
  font-size: 13px;
  color: #a0aec0;
  background: #fff;
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: border-color 0.15s, color 0.15s;
}
.fto-adm-ui .blog-form .form-field__file-label.is-filled {
  color: #1a2b42;
}
.fto-adm-ui .blog-form .form-field__attach {
  position: absolute;
  left: 16px;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #6b7c93;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 1;
  cursor: pointer;
}
.fto-adm-ui .blog-form .form-field__attach svg {
  width: 18px;
  height: 18px;
  display: block;
}
.fto-adm-ui .blog-form .form-field__attach--doc {
  left: auto;
  right: 44px;
  pointer-events: auto;
  z-index: 3;
}
.fto-adm-ui .blog-form .form-field__reset {
  position: absolute;
  right: 8px;
  z-index: 5;
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 50%;
  background: #f15b55;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  cursor: pointer;
  pointer-events: auto;
}
.fto-adm-ui .blog-form .form-field__reset svg {
  width: 14px;
  height: 14px;
}
.fto-adm-ui .blog-form .form-field__reset:hover {
  opacity: 0.9;
}
.fto-adm-ui .blog-form__date-wrap {
  position: relative;
  width: 100%;
  cursor: pointer;
}
.fto-adm-ui .blog-form__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input {
  width: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 14px 52px 14px 18px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  color: transparent;
  -webkit-text-fill-color: transparent;
  caret-color: transparent;
  background: #fff;
  outline: none;
  transition: border-color 0.15s;
  box-sizing: border-box;
}
.fto-adm-ui .blog-form__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input:focus {
  border-color: rgba(12, 31, 61, 0.35);
}
.fto-adm-ui .blog-form__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit, .fto-adm-ui .blog-form__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-fields-wrapper, .fto-adm-ui .blog-form__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-text, .fto-adm-ui .blog-form__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-month-field, .fto-adm-ui .blog-form__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-day-field, .fto-adm-ui .blog-form__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-year-field, .fto-adm-ui .blog-form__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-date-and-time-value {
  color: transparent;
  -webkit-text-fill-color: transparent;
  background: transparent;
}
.fto-adm-ui .blog-form__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__display {
  left: 18px;
  right: 52px;
  font-size: 13px;
  font-weight: 600;
}
.fto-adm-ui .blog-form__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__display:not(.is-placeholder) {
  color: #1a2b42;
}
.fto-adm-ui .blog-form__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__icon {
  right: 18px;
  font-size: 1rem;
}
.fto-adm-ui .blog-form__section {
  margin-bottom: 1rem;
}
.fto-adm-ui .blog-form__section-title {
  margin: 0 0 0.55rem;
  font-size: 1rem;
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .blog-form__card {
  padding: 1.25rem 1.35rem;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 20px;
}
.fto-adm-ui .blog-form__image-field--bordered {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 14px 18px;
  min-height: 46px;
  height: auto;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  box-sizing: border-box;
}
.fto-adm-ui .blog-form__image-preview-col {
  display: flex;
  align-items: flex-end;
}
.fto-adm-ui .blog-form__image-icon {
  color: #6b7c93;
}
.fto-adm-ui .blog-form__image-preview-img {
  width: 100%;
  max-width: 420px;
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  object-fit: cover;
  aspect-ratio: 16/9;
}
.fto-adm-ui .blog-form__content-field {
  margin-top: 0.35rem;
}
.fto-adm-ui .blog-form__content-view {
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  color: #1a2b42;
  padding: 0.15rem 0.15rem 0.25rem;
}
.fto-adm-ui .blog-form__content-view h2,
.fto-adm-ui .blog-form__content-view h3,
.fto-adm-ui .blog-form__content-view h4 {
  margin: 1.1rem 0 0.55rem;
  font-family: inherit;
  font-weight: 600;
  color: #1a2b42;
  line-height: 1.35;
}
.fto-adm-ui .blog-form__content-view h2 {
  font-size: 1.15rem;
}
.fto-adm-ui .blog-form__content-view h3 {
  font-size: 1.05rem;
}
.fto-adm-ui .blog-form__content-view p,
.fto-adm-ui .blog-form__content-view ul,
.fto-adm-ui .blog-form__content-view ol {
  margin: 0 0 0.85rem;
  font-family: inherit;
}
.fto-adm-ui .blog-form__content-view ul,
.fto-adm-ui .blog-form__content-view ol {
  padding-left: 1.25rem;
}
.fto-adm-ui .blog-form__content-view li + li {
  margin-top: 0.3rem;
}
.fto-adm-ui .blog-form__content-view strong {
  font-weight: 600;
}
.fto-adm-ui .blog-form__content-view a {
  color: #0c1f3d;
}
.fto-adm-ui .blog-form__content-view > :first-child {
  margin-top: 0;
}
.fto-adm-ui .blog-form__content-view > :last-child {
  margin-bottom: 0;
}
.fto-adm-ui .blog-form__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.65rem;
  margin-top: 1rem;
}
.fto-adm-ui .blog-form__actions .resources-modal__btn {
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .blog-form--view .form-field__control input:not([type=file]),
.fto-adm-ui .blog-form--view .form-field__control textarea,
.fto-adm-ui .blog-form--view .blog-form__editor,
.fto-adm-ui .blog-form--view .notifications-date-wrap__input {
  background: #f8fafc;
  color: #1a2b42;
  cursor: default;
  pointer-events: none;
}
.fto-adm-ui .blog-form--view .form-field__control--doc {
  display: none;
}
.fto-adm-ui .blog-form--view .form-field__reset,
.fto-adm-ui .blog-form--view .form-field__required,
.fto-adm-ui .blog-form--view .form-field__hint {
  display: none;
}
.fto-adm-ui .blog-form--view .notifications-date-wrap--readonly,
.fto-adm-ui .blog-form--view .notifications-date-wrap {
  cursor: default;
  pointer-events: none;
}
.fto-adm-ui .blog-form--view .blog-form__editor,
.fto-adm-ui .blog-form--view .tox-tinymce {
  display: none !important;
}
.fto-adm-ui .blog-form--view .blog-form__content-view {
  display: block;
}
.fto-adm-ui .blog-form--view .blog-form__image-preview-col {
  margin-top: 0;
}
.fto-adm-ui .question-bank-table {
  overflow-x: auto;
}
.fto-adm-ui .question-bank-table .table-head,
.fto-adm-ui .question-bank-table .qb-question-row {
  grid-template-columns: minmax(66px, 0.4fr) minmax(0, 1fr) minmax(78px, 0.82fr) minmax(72px, 0.5fr) minmax(64px, 0.38fr) minmax(68px, 0.5fr) minmax(48px, 0.38fr) minmax(72px, 0.42fr) minmax(60px, 0.42fr) 68px;
  column-gap: 12px;
  row-gap: 0;
  gap: 0 12px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
@media (min-width: 992px) {
  .fto-adm-ui .question-bank-table .table-head,
  .fto-adm-ui .question-bank-table .qb-question-row {
    min-width: 1240px;
  }
}
@media (min-width: 1250px) {
  .fto-adm-ui .question-bank-table .table-head,
  .fto-adm-ui .question-bank-table .qb-question-row {
    min-width: 0;
  }
}
.fto-adm-ui .question-bank-table .table-head {
  padding: 0 16px 14px;
  align-items: center;
}
.fto-adm-ui .question-bank-table .table-head.table-head--sort-only {
  padding-bottom: 0.65rem;
  align-items: center;
}
.fto-adm-ui .question-bank-table .table-head.table-head--sort-only > span {
  gap: 0;
}
.fto-adm-ui .question-bank-table .table-head > span {
  gap: 0;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  overflow: hidden;
}
.fto-adm-ui .question-bank-table .table-head .sa-directory-sort-btn {
  line-height: 1.35;
  min-height: 18px;
  width: 100%;
  max-width: 100%;
  white-space: normal;
  text-align: center;
  word-break: break-word;
}
.fto-adm-ui .question-bank-table .table-head .table-head__label {
  width: 100%;
  max-width: 100%;
}
.fto-adm-ui .question-bank-table .table-head > span:nth-child(1),
.fto-adm-ui .question-bank-table .table-head > span:nth-child(2),
.fto-adm-ui .question-bank-table .table-head > span:nth-child(3) {
  text-align: left;
  justify-self: start;
  align-items: flex-start;
}
.fto-adm-ui .question-bank-table .table-head > span:nth-child(1) .sa-directory-sort-btn,
.fto-adm-ui .question-bank-table .table-head > span:nth-child(2) .sa-directory-sort-btn,
.fto-adm-ui .question-bank-table .table-head > span:nth-child(3) .sa-directory-sort-btn {
  justify-content: flex-start;
  width: 100%;
}
.fto-adm-ui .question-bank-table .table-head > span:nth-child(1) .table-head__label,
.fto-adm-ui .question-bank-table .table-head > span:nth-child(2) .table-head__label,
.fto-adm-ui .question-bank-table .table-head > span:nth-child(3) .table-head__label {
  justify-content: flex-start;
}
.fto-adm-ui .question-bank-table .table-head > span:nth-child(1) .table-head__filter,
.fto-adm-ui .question-bank-table .table-head > span:nth-child(2) .table-head__filter,
.fto-adm-ui .question-bank-table .table-head > span:nth-child(3) .table-head__filter {
  text-align: left;
}
.fto-adm-ui .question-bank-table .table-head > span:nth-child(1) .sa-directory-sort-btn,
.fto-adm-ui .question-bank-table .table-head > span:nth-child(2) .sa-directory-sort-btn,
.fto-adm-ui .question-bank-table .table-head > span:nth-child(3) .sa-directory-sort-btn {
  text-align: left;
  padding-left: 6px;
}
@media (min-width: 992px) {
  .fto-adm-ui .question-bank-table {
    /* Restore when row select column is re-enabled:
    .table-head > span:first-child,
    .qb-question-row__select {
      justify-self: end;
    }
    */
  }
}
.fto-adm-ui .question-bank .directory__header--tools-only {
  margin-bottom: 1rem;
}
.fto-adm-ui .qb-question-view__actions {
  align-items: center;
  flex-wrap: wrap;
}
.fto-adm-ui .qb-question-view__program-filter.table-head__filter {
  flex: 1 1 240px;
  min-width: 240px;
  max-width: 360px;
  width: auto;
  min-height: 45px;
  height: 45px;
  padding: 0 0.95rem 0 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  appearance: none;
  -webkit-appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7c93' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.95rem center;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  color: #0c1f3d;
  align-self: center;
  box-sizing: border-box;
  cursor: pointer;
}
.fto-adm-ui .qb-question-view__program-filter.table-head__filter option {
  font-size: 13px;
  font-weight: 600;
}
.fto-adm-ui .qb-question-view__btn-icon {
  display: block;
  width: 16px;
  height: 16px;
  object-fit: contain;
}
.fto-adm-ui .qb-question-view__btn-icon-only {
  padding-inline: 12px;
}
@media (max-width: 767.98px) {
  .fto-adm-ui .qb-question-view__actions {
    width: 100%;
  }
  .fto-adm-ui .qb-question-view__actions .btn {
    flex: 1 1 100%;
    width: 100%;
    justify-content: center;
  }
  .fto-adm-ui .qb-question-view__actions .qb-question-view__program-filter.table-head__filter {
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 45px;
    height: 45px;
    font-size: 13px;
    font-weight: 600;
  }
  .fto-adm-ui .qb-question-view__actions .qb-question-view__btn-icon-only {
    flex: 0 0 auto;
    width: auto;
    align-self: flex-end;
  }
}
.fto-adm-ui .qb-question-directory__tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  width: auto;
  max-width: 100%;
  margin-left: auto;
}
.fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown {
  position: relative;
  flex: 0 1 148px;
  min-width: 148px;
}
.fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown.is-open {
  z-index: 40;
}
.fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  width: 100%;
  min-width: 0;
  height: 30px;
  padding: 0 0.55rem;
  border: 1px solid #dbe6f2;
  border-radius: 10px;
  background: #fff;
  font-family: inherit;
  font-size: 11px;
  font-weight: 500;
  color: #1a2b42;
  text-align: left;
  cursor: pointer;
  outline: none;
  transition: border-color 0.15s;
}
.fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown__toggle:focus, .filter-multi-dropdown.is-open .fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown__toggle {
  border-color: rgba(12, 31, 61, 0.36);
  box-shadow: 0 0 0 2px rgba(12, 31, 61, 0.08);
}
.fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown__label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #6b7c93;
}
.fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown--active .fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown__label {
  color: #1a2b42;
}
.fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown__chevron {
  width: 0.75rem;
  height: 0.75rem;
  font-size: 0.7rem;
  line-height: 1;
  flex-shrink: 0;
  color: #6b7c93;
  transition: transform 0.15s;
}
.fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown.is-open .fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown__chevron {
  transform: rotate(180deg);
}
.fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown__menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 50;
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: 220px;
  overflow: auto;
  padding: 8px;
  border: 1px solid #eef2f6;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(12, 31, 61, 0.14);
}
.fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown__menu[hidden] {
  display: none !important;
}
.fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown__option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 500;
  color: #1a2b42;
  cursor: pointer;
  transition: background 0.12s;
}
.fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown__option:hover {
  background: #f8fafc;
}
.fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown__option input {
  width: 16px;
  height: 16px;
  accent-color: #0c1f3d;
  flex-shrink: 0;
}
.fto-adm-ui .qb-question-directory__tools .qb-question-directory__export {
  flex: 0 0 auto;
  width: fit-content;
  max-width: 100%;
  white-space: nowrap;
}
.fto-adm-ui .qb-question-directory__tools .qb-question-directory__export:hover, .fto-adm-ui .qb-question-directory__tools .qb-question-directory__export:focus, .fto-adm-ui .qb-question-directory__tools .qb-question-directory__export:active {
  background: #1F4169;
  color: #ffffff;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .qb-question-directory__tools {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    align-self: stretch;
    width: 100%;
    margin-left: 0;
    gap: 0.65rem;
  }
  .fto-adm-ui .qb-question-directory__tools .directory__search,
  .fto-adm-ui .qb-question-directory__tools .filter-multi-dropdown,
  .fto-adm-ui .qb-question-directory__tools .qb-question-directory__export {
    flex: 0 0 auto;
    min-width: 0;
    width: 100%;
    max-width: none;
  }
  .fto-adm-ui .qb-question-directory__tools .qb-question-directory__export {
    height: 40px;
    margin-left: 0;
    justify-content: center;
  }
}
.fto-adm-ui .qb-question-table__select-label {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  width: auto;
  min-height: 18px;
}
.fto-adm-ui .qb-question-row {
  align-items: center;
}
.fto-adm-ui .qb-question-row__qid, .fto-adm-ui .qb-question-row__question, .fto-adm-ui .qb-question-row__answer {
  justify-self: start !important;
  text-align: left !important;
  min-width: 0;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.35;
}
.fto-adm-ui .qb-question-row__qid img,
.fto-adm-ui .qb-question-row__qid video,
.fto-adm-ui .qb-question-row__qid iframe,
.fto-adm-ui .qb-question-row__qid svg,
.fto-adm-ui .qb-question-row__qid picture, .fto-adm-ui .qb-question-row__question img,
.fto-adm-ui .qb-question-row__question video,
.fto-adm-ui .qb-question-row__question iframe,
.fto-adm-ui .qb-question-row__question svg,
.fto-adm-ui .qb-question-row__question picture, .fto-adm-ui .qb-question-row__answer img,
.fto-adm-ui .qb-question-row__answer video,
.fto-adm-ui .qb-question-row__answer iframe,
.fto-adm-ui .qb-question-row__answer svg,
.fto-adm-ui .qb-question-row__answer picture {
  max-width: 100%;
  max-height: 2.25rem;
  width: auto;
  height: auto;
  object-fit: contain;
  vertical-align: middle;
}
.fto-adm-ui .qb-question-row__question.qb-question-row__cell--truncatable, .fto-adm-ui .qb-question-row__answer.qb-question-row__cell--truncatable {
  cursor: help;
}
.fto-adm-ui .qb-question-row__dgca, .fto-adm-ui .qb-question-row__manual-review, .fto-adm-ui .qb-question-row__status, .fto-adm-ui .qb-question-row__actions {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .qb-question-row__actions {
  gap: 0.5rem;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .qb-question-row__select::before {
    display: none;
  }
  .fto-adm-ui .qb-question-row__dgca, .fto-adm-ui .qb-question-row__manual-review, .fto-adm-ui .qb-question-row__status {
    justify-content: flex-end;
  }
  .fto-adm-ui .qb-question-row__dgca .qb-list__check,
  .fto-adm-ui .qb-question-row__dgca .resources-switch, .fto-adm-ui .qb-question-row__manual-review .qb-list__check,
  .fto-adm-ui .qb-question-row__manual-review .resources-switch, .fto-adm-ui .qb-question-row__status .qb-list__check,
  .fto-adm-ui .qb-question-row__status .resources-switch {
    margin-left: auto;
  }
}
@media (min-width: 992px) {
  .fto-adm-ui .qb-conflict-questions-table .table-head,
  .fto-adm-ui .qb-conflict-questions-table .qb-conflict-question-row {
    grid-template-columns: minmax(88px, 0.7fr) minmax(96px, 0.75fr) minmax(0, 1.35fr) minmax(0, 1.25fr) minmax(108px, auto);
    min-width: 980px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .qb-conflict-questions-table .table-head,
  .fto-adm-ui .qb-conflict-questions-table .qb-conflict-question-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .qb-conflict-questions-view {
  width: 100%;
  min-width: 0;
}
.fto-adm-ui .qb-conflict-questions-view .directory {
  width: 100%;
  min-width: 0;
}
.fto-adm-ui .qb-conflict-questions-view__back {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.25;
  color: #0c1f3d;
  cursor: pointer;
}
.fto-adm-ui .qb-conflict-questions-view__back:hover {
  color: rgb(2.0757453666%, 5.3623421972%, 10.5517056138%);
}
.fto-adm-ui .qb-conflict-questions-view .page-header__text p {
  margin-top: 0.35rem;
  font-size: 0.875rem;
  line-height: 1.4;
  color: #555;
}
.fto-adm-ui .qb-conflict-question-row {
  align-items: center;
}
.fto-adm-ui .qb-conflict-question-row__question, .fto-adm-ui .qb-conflict-question-row__conflict {
  word-break: break-word;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.fto-adm-ui .qb-conflict-question-row__conflict {
  color: #F15B55;
  font-weight: 500;
}
.fto-adm-ui .qb-conflict-question-row__actions {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .qb-conflict-question-row__actions .btn--view {
  gap: 0.35rem;
  padding-inline: 14px;
  white-space: nowrap;
}
.fto-adm-ui .qb-error-files-table {
  width: 100%;
}
.fto-adm-ui .qb-error-files-table .table-body {
  width: 100%;
}
@media (min-width: 992px) {
  .fto-adm-ui .qb-error-files-table .table-head,
  .fto-adm-ui .qb-error-files-table .fto-directory-row.qb-error-file-row {
    width: 100%;
    grid-template-columns: 40px 56px minmax(0, 1fr) minmax(150px, 0.55fr) minmax(130px, 0.45fr) minmax(88px, 0.3fr) 88px;
    min-width: 0;
  }
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(3) {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(3) .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(3) .table-head__label {
    justify-content: flex-start;
  }
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(3) .table-head__filter {
    text-align: left;
  }
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(2),
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(4),
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(5),
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(6),
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(7) {
    text-align: center;
    justify-self: center;
    align-items: center;
  }
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(2) .sa-directory-sort-btn,
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(4) .sa-directory-sort-btn,
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(5) .sa-directory-sort-btn,
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(6) .sa-directory-sort-btn,
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(7) .sa-directory-sort-btn {
    justify-content: center;
    width: 100%;
  }
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(2) .table-head__label,
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(4) .table-head__label,
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(5) .table-head__label,
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(6) .table-head__label,
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(7) .table-head__label {
    justify-content: center;
  }
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(2) .table-head__filter,
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(4) .table-head__filter,
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(5) .table-head__filter,
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(6) .table-head__filter,
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(7) .table-head__filter {
    text-align: center;
  }
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(3) .table-head__filter,
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(4) .table-head__filter,
  .fto-adm-ui .qb-error-files-table .table-head > span:nth-child(5) .table-head__filter {
    width: 100%;
    max-width: 100%;
  }
  .fto-adm-ui .qb-error-files-table .fto-directory-row.qb-error-file-row .col-file {
    justify-self: start !important;
    text-align: left !important;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .qb-error-files-table .table-head,
  .fto-adm-ui .qb-error-files-table .fto-directory-row.qb-error-file-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .qb-error-files-view {
  width: 100%;
  min-width: 0;
}
.fto-adm-ui .qb-error-files-view__back {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.25;
  color: #0c1f3d;
  cursor: pointer;
}
.fto-adm-ui .qb-error-files-view__back:hover {
  color: rgb(2.0757453666%, 5.3623421972%, 10.5517056138%);
}
.fto-adm-ui .qb-error-files-view .page-header__text p {
  margin-top: 0.35rem;
  font-size: 0.875rem;
  line-height: 1.4;
  color: #555;
}
.fto-adm-ui .qb-error-file-row {
  align-items: center;
}
.fto-adm-ui .qb-error-file-row--open .qb-error-file-row__toggle-icon {
  transform: rotate(180deg);
}
.fto-adm-ui .qb-error-file-row__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(12, 31, 61, 0.06);
  color: #0c1f3d;
  cursor: pointer;
  transition: background 0.2s ease;
}
.fto-adm-ui .qb-error-file-row__toggle:hover {
  background: rgba(12, 31, 61, 0.12);
}
.fto-adm-ui .qb-error-file-row__toggle-icon {
  font-size: 0.95rem;
  line-height: 1;
  transition: transform 0.2s ease;
}
.fto-adm-ui .qb-error-file-row__file {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  justify-self: start;
  text-align: left;
  gap: 0.5rem 0.75rem;
  min-width: 0;
}
.fto-adm-ui .qb-error-file-row__name {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #1a2b42;
  word-break: break-word;
}
.fto-adm-ui .qb-error-file-row__count {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(241, 91, 85, 0.12);
  color: #F15B55;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
.fto-adm-ui .qb-error-file-row__errors {
  justify-self: center;
  text-align: center;
}
.fto-adm-ui .qb-error-file-row__sl {
  justify-self: center;
  text-align: center;
  font-weight: 600;
  color: #1a2b42;
}
.fto-adm-ui .qb-error-file-row__uploaded-on {
  justify-self: center;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.fto-adm-ui .qb-error-file-row__uploaded-time {
  font-size: 0.75rem;
  color: #6b7c93;
}
.fto-adm-ui .qb-error-file-row__uploader {
  justify-self: center;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}
.fto-adm-ui .qb-error-file-row__uploader-name {
  font-weight: 600;
  color: #1a2b42;
  word-break: break-word;
}
.fto-adm-ui .qb-error-file-row__uploader-role {
  font-size: 0.75rem;
  color: #6b7c93;
}
.fto-adm-ui .qb-error-file-row__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.fto-adm-ui .qb-error-file-row__expand {
  justify-self: start !important;
  text-align: left !important;
}
.fto-adm-ui .qb-error-file-panel {
  grid-column: 1/-1;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: 0.35rem;
  padding: 0.85rem 1rem 1rem;
  border: 1px solid #eef2f6;
  border-radius: 16px;
  background: #f8fafc;
}
.fto-adm-ui .qb-error-file-panel__summary {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #0c1f3d;
  margin-bottom: 0.65rem;
}
.fto-adm-ui .qb-error-file-panel__issues {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.fto-adm-ui .qb-error-file-panel__issue {
  padding: 0.85rem 1rem;
  border: 1px solid #eef2f6;
  border-radius: 14px;
  background: #fff;
}
.fto-adm-ui .qb-error-file-panel__issue-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.75rem;
  margin-bottom: 0.55rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(12, 31, 61, 0.08);
}
.fto-adm-ui .qb-error-file-panel__issue-row {
  font-size: 0.8125rem;
  font-weight: 700;
  color: #1a2b42;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.fto-adm-ui .qb-error-file-panel__issue-id {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #6b7c93;
}
.fto-adm-ui .qb-error-file-panel__fields {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.fto-adm-ui .qb-error-file-panel__field {
  display: grid;
  grid-template-columns: minmax(120px, 0.9fr) minmax(110px, 0.75fr) minmax(0, 2fr);
  gap: 0.5rem 1rem;
  align-items: start;
  font-size: 0.8125rem;
  line-height: 1.45;
  width: 100%;
}
.fto-adm-ui .qb-error-file-panel__field-label {
  font-weight: 600;
  color: #0c1f3d;
}
.fto-adm-ui .qb-error-file-panel__field-msg {
  font-weight: 600;
  color: #F15B55;
}
.fto-adm-ui .qb-error-file-panel__field-value {
  font-weight: 500;
  color: #1a2b42;
  word-break: break-word;
}
.fto-adm-ui .qb-error-file-panel__issue--resolved {
  border-color: rgba(34, 160, 107, 0.4);
  background: rgba(34, 160, 107, 0.06);
}
.fto-adm-ui .qb-error-file-panel__resolved-note {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1f8f5f;
}
.fto-adm-ui .qb-error-file-panel__resolved-note .bi {
  font-size: 1rem;
}
.fto-adm-ui .qb-error-file-panel__fix {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-left: auto;
  padding: 0.4rem 0.85rem;
  border: 1px solid rgba(12, 31, 61, 0.2);
  border-radius: 999px;
  background: #fff;
  color: #0c1f3d;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.fto-adm-ui .qb-error-file-panel__fix .bi {
  font-size: 0.95rem;
}
.fto-adm-ui .qb-error-file-panel__fix:hover {
  background: #0c1f3d;
  color: #fff;
  border-color: #0c1f3d;
}
.fto-adm-ui .qb-error-file-panel__fix--done {
  border-color: rgba(34, 160, 107, 0.4);
  background: rgba(34, 160, 107, 0.1);
  color: #1f8f5f;
  cursor: default;
}
.fto-adm-ui .qb-error-file-panel__fix--done:hover {
  background: rgba(34, 160, 107, 0.1);
  color: #1f8f5f;
  border-color: rgba(34, 160, 107, 0.4);
}
.fto-adm-ui .qb-error-file-row__count--resolved {
  background: rgba(34, 160, 107, 0.14) !important;
  color: #1f8f5f !important;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .qb-conflict-questions-view .page-header,
  .fto-adm-ui .qb-error-files-view .page-header {
    margin-bottom: 0.75rem;
  }
  .fto-adm-ui .qb-conflict-questions-view .page-header__text p,
  .fto-adm-ui .qb-error-files-view .page-header__text p {
    margin-top: 0.25rem;
    font-size: 0.8125rem;
  }
  .fto-adm-ui .qb-conflict-questions-view .directory,
  .fto-adm-ui .qb-error-files-view .directory {
    padding: 0.75rem;
    border-radius: 16px;
  }
  .fto-adm-ui .qb-conflict-questions-view__back,
  .fto-adm-ui .qb-error-files-view__back {
    font-size: 1.25rem;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: 0.65rem;
    row-gap: 0.4rem;
    padding: 0.65rem 0.75rem;
    gap: 0.4rem 0.65rem;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__file::before {
    display: none;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__expand {
    order: unset;
    width: auto;
    margin: 0;
    display: flex;
    justify-content: flex-start;
    grid-column: 1;
    grid-row: 1;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__sl {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    padding: 0;
    border: none;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__file,
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__uploaded-on,
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__uploader,
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__actions,
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__errors {
    grid-column: 1/-1;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__errors {
    display: none;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__toggle {
    width: 1.75rem;
    height: 1.75rem;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__sl,
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__uploaded-on,
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__uploader,
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__actions {
    justify-self: stretch;
    text-align: right;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__uploaded-on,
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__uploader {
    flex-direction: row !important;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.25rem 0.4rem;
    text-align: right;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__uploaded-on > span:first-of-type,
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__uploader > span:first-of-type {
    margin-left: auto;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__uploaded-time::before,
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__uploader-role::before {
    content: "·";
    margin-right: 0.3rem;
    color: #6b7c93;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__name {
    font-size: 0.8125rem;
    line-height: 1.3;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__file {
    gap: 0.35rem 0.5rem;
    width: 100%;
    justify-content: space-between;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__count {
    padding: 0.15rem 0.45rem;
    font-size: 0.6875rem;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-row__actions {
    justify-content: flex-end;
    padding-top: 0.35rem;
    margin-top: 0.1rem;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row .qb-error-file-panel {
    grid-column: 1/-1;
  }
  .fto-adm-ui .qb-error-file-panel {
    margin-top: 0.25rem;
    padding: 0.65rem;
    border-radius: 12px;
  }
  .fto-adm-ui .qb-error-file-panel__summary {
    margin-bottom: 0.5rem;
    font-size: 0.75rem;
  }
  .fto-adm-ui .qb-error-file-panel__issues {
    gap: 0.5rem;
  }
  .fto-adm-ui .qb-error-file-panel__issue {
    padding: 0.65rem 0.7rem;
    border-radius: 12px;
  }
  .fto-adm-ui .qb-error-file-panel__issue-head {
    gap: 0.35rem 0.5rem;
    margin-bottom: 0.45rem;
    padding-bottom: 0.4rem;
  }
  .fto-adm-ui .qb-error-file-panel__fields {
    gap: 0.35rem;
  }
  .fto-adm-ui .qb-error-file-panel__field {
    grid-template-columns: 1fr;
    gap: 0.1rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid rgba(12, 31, 61, 0.06);
  }
  .fto-adm-ui .qb-error-file-panel__field:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
  .fto-adm-ui .qb-error-file-panel__field-label {
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
  }
  .fto-adm-ui .qb-error-file-panel__field-msg, .fto-adm-ui .qb-error-file-panel__field-value {
    font-size: 0.8125rem;
  }
  .fto-adm-ui .qb-error-file-panel__fix {
    width: 100%;
    justify-content: center;
    margin-left: 0;
    margin-top: 0.35rem;
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .qb-conflict-questions-view .directory,
  .fto-adm-ui .qb-error-files-view .directory {
    padding: 0.65rem;
  }
  .fto-adm-ui .qb-error-files-table .table-body .fto-directory-row.qb-error-file-row {
    padding: 0.55rem 0.65rem;
    gap: 0.35rem 0.5rem;
  }
  .fto-adm-ui .qb-error-file-panel {
    padding: 0.55rem;
  }
  .fto-adm-ui .qb-error-file-panel__issue {
    padding: 0.55rem 0.6rem;
  }
}
.fto-adm-ui .tests-exams-directory__tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  width: auto;
  max-width: 100%;
  margin-left: auto;
}
.fto-adm-ui .tests-exams-directory__tools .table-head__filter {
  flex: 0 1 180px;
  min-width: 180px;
  width: auto;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .tests-exams-directory__tools {
    width: 100%;
  }
  .fto-adm-ui .tests-exams-directory__tools .table-head__filter {
    flex: 1 1 100%;
    min-width: 0;
  }
}
.fto-adm-ui .tests-exams .directory__header--tools-only {
  margin-bottom: 1rem;
}
.fto-adm-ui .tests-exams-table .table-head,
.fto-adm-ui .tests-exams-table .fto-directory-row.tests-exam-row {
  grid-template-columns: minmax(200px, 1.55fr) minmax(112px, 0.95fr) minmax(88px, 0.6fr) minmax(100px, 0.65fr) minmax(140px, 0.9fr) 88px;
  min-width: 960px;
}
.fto-adm-ui .tests-exams-table .table-head {
  align-items: center;
}
.fto-adm-ui .tests-exams-table .fto-directory-row.tests-exam-row .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.fto-adm-ui .tests-exams-table .resources-action {
  flex-shrink: 0;
}
@media (min-width: 992px) {
  .fto-adm-ui .subscription-modules-directory .directory__tools,
  .fto-adm-ui .programs-packages-directory .directory__tools {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    margin-left: 0;
  }
  .fto-adm-ui .subscription-modules-directory .directory__tools .table-head__filter,
  .fto-adm-ui .programs-packages-directory .directory__tools .table-head__filter {
    width: auto;
    min-width: 148px;
    max-width: 200px;
    flex: 0 1 auto;
  }
  .fto-adm-ui .subscription-modules-directory .directory__tools .directory__search,
  .fto-adm-ui .programs-packages-directory .directory__tools .directory__search {
    flex: 0 0 auto;
    margin-left: auto;
  }
}
@media (min-width: 992px) {
  .fto-adm-ui .coupons-general-directory .directory__tools {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    margin-left: 0;
    justify-content: flex-start;
  }
  .fto-adm-ui .coupons-general-directory .directory__tools .directory__search {
    flex: 0 0 280px;
    width: 280px;
    min-width: 280px;
    max-width: 280px;
    margin-left: auto;
  }
  .fto-adm-ui .coupons-general-directory .directory__tools .table-head__filter,
  .fto-adm-ui .coupons-general-directory .directory__tools .sa-directory-select {
    flex: 0 0 auto;
    width: auto;
    min-width: 148px;
    max-width: 200px;
  }
}
.fto-adm-ui .subscription-modules-table .table-head,
.fto-adm-ui .subscription-modules-table .fto-directory-row.subscription-modules-row {
  grid-template-columns: minmax(200px, 1.8fr) minmax(100px, 0.85fr) minmax(100px, 0.85fr) minmax(110px, 0.75fr) minmax(120px, 0.85fr) minmax(120px, 0.9fr) 88px;
  min-width: 1040px;
}
.fto-adm-ui .subscription-modules-table .fto-directory-row.subscription-modules-row .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .coupons-general-table .table-head,
.fto-adm-ui .coupons-general-table .fto-directory-row.coupons-general-row {
  grid-template-columns: minmax(120px, 1.1fr) minmax(100px, 0.9fr) minmax(150px, 1.8fr) minmax(90px, 0.75fr) minmax(100px, 0.85fr) minmax(90px, 0.7fr) minmax(110px, 0.85fr) calc(72px + 36px * 2 + 0.35rem * 2);
  min-width: 1220px;
}
@media (min-width: 992px) {
  .fto-adm-ui .coupons-general-table .table-head > span:nth-child(1),
  .fto-adm-ui .coupons-general-table .table-head > span:nth-child(2),
  .fto-adm-ui .coupons-general-table .table-head > span:nth-child(3) {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .fto-adm-ui .coupons-general-table .table-head > span:nth-child(1) .sa-directory-sort-btn,
  .fto-adm-ui .coupons-general-table .table-head > span:nth-child(2) .sa-directory-sort-btn,
  .fto-adm-ui .coupons-general-table .table-head > span:nth-child(3) .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .fto-adm-ui .coupons-general-table .table-head > span:nth-child(1) .table-head__label,
  .fto-adm-ui .coupons-general-table .table-head > span:nth-child(2) .table-head__label,
  .fto-adm-ui .coupons-general-table .table-head > span:nth-child(3) .table-head__label {
    justify-content: flex-start;
  }
  .fto-adm-ui .coupons-general-table .table-head > span:nth-child(1) .table-head__filter,
  .fto-adm-ui .coupons-general-table .table-head > span:nth-child(2) .table-head__filter,
  .fto-adm-ui .coupons-general-table .table-head > span:nth-child(3) .table-head__filter {
    text-align: left;
  }
  .fto-adm-ui .coupons-general-table .fto-directory-row.coupons-general-row > :nth-child(1),
  .fto-adm-ui .coupons-general-table .fto-directory-row.coupons-general-row > :nth-child(2) {
    justify-self: start;
    text-align: left;
  }
  .fto-adm-ui .coupons-general-table .fto-directory-row.coupons-general-row > :nth-child(3) {
    justify-self: stretch;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
@media (min-width: 1400px) {
  .fto-adm-ui .coupons-general-table .table-head,
  .fto-adm-ui .coupons-general-table .fto-directory-row.coupons-general-row {
    min-width: 0;
  }
}
.fto-adm-ui .coupons-general-table .fto-directory-row.coupons-general-row .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: nowrap;
}
.fto-adm-ui .coupons-general-table .fto-directory-row.coupons-general-row .col-action .resources-img {
  width: 17px;
  height: 18px;
  max-width: 17px;
  max-height: 18px;
  border-radius: 0;
  object-fit: contain;
}
.fto-adm-ui .flying-schools-table .table-head,
.fto-adm-ui .flying-schools-table .fto-directory-row.flying-schools-row {
  grid-template-columns: minmax(200px, 1fr) minmax(120px, 0.55fr) 88px;
  min-width: 720px;
}
.fto-adm-ui .flying-schools-table .fto-directory-row.flying-schools-row .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.fto-adm-ui .aircraft-list-table .table-head,
.fto-adm-ui .aircraft-list-table .fto-directory-row.aircraft-list-row {
  grid-template-columns: minmax(200px, 1fr) minmax(120px, 0.55fr) 88px;
  min-width: 720px;
}
.fto-adm-ui .aircraft-list-table .fto-directory-row.aircraft-list-row .col-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-detail-students-table .table-head,
  .fto-adm-ui .fto-detail-students-table .student-row {
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.85fr) minmax(0, 0.72fr) minmax(0, 0.9fr) minmax(0, 0.72fr) minmax(0, 0.82fr) minmax(0, 0.62fr) minmax(0, 0.92fr) minmax(72px, auto);
    min-width: 920px;
  }
  .fto-adm-ui .fto-detail-programs-table .table-head,
  .fto-adm-ui .fto-detail-programs-table .fto-directory-row.fto-detail-program-row {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.5fr) minmax(0, 0.7fr) minmax(0, 0.75fr) minmax(90px, auto);
    min-width: 880px;
  }
  .fto-adm-ui .fto-detail-batches-table .table-head,
  .fto-adm-ui .fto-detail-batches-table .fto-directory-row.fto-detail-batch-row {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 0.55fr) minmax(0, 0.85fr) minmax(90px, auto);
    min-width: 960px;
  }
  .fto-adm-ui .fto-detail-cgi-table .table-head,
  .fto-adm-ui .fto-detail-cgi-table .fto-directory-row.fto-detail-cgi-row {
    grid-template-columns: 48px 56px minmax(0, 1.15fr) minmax(0, 0.85fr) minmax(0, 1.05fr) minmax(0, 0.9fr) minmax(0, 0.85fr) minmax(72px, auto);
    min-width: 1040px;
  }
  .fto-adm-ui .fto-detail-cgi-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-detail-cgi-table .table-head > span:nth-child(2),
  .fto-adm-ui .fto-detail-cgi-table .table-head > span:nth-child(3),
  .fto-adm-ui .fto-detail-cgi-table .fto-detail-cgi-row__sn,
  .fto-adm-ui .fto-detail-cgi-table .fto-detail-cgi-row__profile,
  .fto-adm-ui .fto-detail-cgi-table .fto-detail-cgi-row__name {
    justify-self: start !important;
    text-align: left !important;
  }
  .fto-adm-ui .fto-detail-cgi-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-detail-cgi-table .table-head > span:nth-child(2),
  .fto-adm-ui .fto-detail-cgi-table .table-head > span:nth-child(3) {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .fto-adm-ui .fto-detail-cgi-table .table-head > span:nth-child(1) .sa-directory-sort-btn,
  .fto-adm-ui .fto-detail-cgi-table .table-head > span:nth-child(2) .sa-directory-sort-btn,
  .fto-adm-ui .fto-detail-cgi-table .table-head > span:nth-child(3) .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .fto-adm-ui .fto-detail-cgi-table .table-head > span:nth-child(1) .table-head__label,
  .fto-adm-ui .fto-detail-cgi-table .table-head > span:nth-child(2) .table-head__label,
  .fto-adm-ui .fto-detail-cgi-table .table-head > span:nth-child(3) .table-head__label {
    justify-content: flex-start;
  }
  .fto-adm-ui .fto-detail-cgi-table .table-head > span:nth-child(1) .table-head__filter,
  .fto-adm-ui .fto-detail-cgi-table .table-head > span:nth-child(2) .table-head__filter,
  .fto-adm-ui .fto-detail-cgi-table .table-head > span:nth-child(3) .table-head__filter {
    text-align: left;
  }
  .fto-adm-ui .fto-detail-staff-table .table-head,
  .fto-adm-ui .fto-detail-staff-table .fto-directory-row.fto-detail-staff-row {
    grid-template-columns: 56px minmax(0, 1.1fr) minmax(0, 0.95fr) minmax(0, 0.75fr) minmax(0, 0.65fr) minmax(0, 0.85fr) minmax(0, 0.75fr) minmax(72px, auto);
    min-width: 1040px;
  }
  .fto-adm-ui .fto-detail-instructors-table .table-head,
  .fto-adm-ui .fto-detail-instructors-table .fto-directory-row.fto-detail-instructor-row {
    grid-template-columns: 48px 56px minmax(0, 1.05fr) minmax(0, 0.7fr) minmax(0, 0.7fr) minmax(0, 0.85fr) minmax(0, 1fr) minmax(0, 0.95fr) minmax(72px, auto);
    min-width: 1120px;
  }
  .fto-adm-ui .fto-detail-instructors-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-detail-instructors-table .table-head > span:nth-child(2),
  .fto-adm-ui .fto-detail-instructors-table .table-head > span:nth-child(3),
  .fto-adm-ui .fto-detail-instructors-table .fto-detail-instructor-row__sn,
  .fto-adm-ui .fto-detail-instructors-table .fto-detail-instructor-row__profile,
  .fto-adm-ui .fto-detail-instructors-table .fto-detail-instructor-row__name {
    justify-self: start !important;
    text-align: left !important;
  }
  .fto-adm-ui .fto-detail-instructors-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-detail-instructors-table .table-head > span:nth-child(2),
  .fto-adm-ui .fto-detail-instructors-table .table-head > span:nth-child(3) {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .fto-adm-ui .fto-detail-instructors-table .table-head > span:nth-child(1) .sa-directory-sort-btn,
  .fto-adm-ui .fto-detail-instructors-table .table-head > span:nth-child(2) .sa-directory-sort-btn,
  .fto-adm-ui .fto-detail-instructors-table .table-head > span:nth-child(3) .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .fto-adm-ui .fto-detail-instructors-table .table-head > span:nth-child(1) .table-head__label,
  .fto-adm-ui .fto-detail-instructors-table .table-head > span:nth-child(2) .table-head__label,
  .fto-adm-ui .fto-detail-instructors-table .table-head > span:nth-child(3) .table-head__label {
    justify-content: flex-start;
  }
  .fto-adm-ui .fto-detail-instructors-table .table-head > span:nth-child(1) .table-head__filter,
  .fto-adm-ui .fto-detail-instructors-table .table-head > span:nth-child(2) .table-head__filter,
  .fto-adm-ui .fto-detail-instructors-table .table-head > span:nth-child(3) .table-head__filter {
    text-align: left;
  }
  .fto-adm-ui .fto-detail-classrooms-table .table-head,
  .fto-adm-ui .fto-detail-classrooms-table .fto-directory-row.fto-detail-classroom-row {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.75fr) minmax(0, 0.6fr) minmax(0, 0.7fr) minmax(0, 1.05fr) minmax(90px, auto);
    min-width: 980px;
  }
  .fto-adm-ui .fto-detail-lesson-plans-table .table-head,
  .fto-adm-ui .fto-detail-lesson-plans-table .fto-directory-row.fto-detail-lesson-plan-row {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 0.9fr) minmax(0, 0.95fr) minmax(0, 0.55fr) minmax(0, 0.6fr) minmax(0, 0.7fr) minmax(90px, auto);
    min-width: 980px;
  }
  .fto-adm-ui .fto-detail-attendance-students-table .table-head,
  .fto-adm-ui .fto-detail-attendance-students-table .fto-directory-row.fto-detail-attendance-student-row {
    grid-template-columns: 64px minmax(0, 1.2fr) minmax(0, 0.9fr) minmax(0, 0.75fr) minmax(0, 1.1fr) minmax(0, 0.85fr) minmax(0, 0.95fr) minmax(0, 0.85fr) minmax(100px, auto);
    width: 100%;
    min-width: 1080px;
    box-sizing: border-box;
  }
  .fto-adm-ui .fto-detail-attendance-students-table .fto-directory-row.fto-detail-attendance-student-row .col-profile {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 44px;
    overflow: visible;
  }
  .fto-adm-ui .fto-detail-attendance-students-table .fto-directory-row.fto-detail-attendance-student-row .col-action {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .fto-adm-ui .fto-detail-attendance-instructors-table .table-head,
  .fto-adm-ui .fto-detail-attendance-instructors-table .fto-directory-row.fto-detail-attendance-instructor-row {
    grid-template-columns: 64px minmax(0, 1.25fr) minmax(0, 0.65fr) minmax(0, 0.75fr) minmax(0, 1.1fr) minmax(0, 0.65fr) minmax(0, 0.65fr) minmax(0, 0.85fr) minmax(100px, auto);
    width: 100%;
    min-width: 1080px;
    box-sizing: border-box;
  }
  .fto-adm-ui .fto-detail-attendance-instructors-table .fto-directory-row.fto-detail-attendance-instructor-row .col-profile {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 44px;
    overflow: visible;
  }
  .fto-adm-ui .fto-detail-attendance-instructors-table .fto-directory-row.fto-detail-attendance-instructor-row .col-action {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .fto-adm-ui .fto-detail-attendance-students-table .col-profile__avatar-wrap,
  .fto-adm-ui .fto-detail-attendance-instructors-table .col-profile__avatar-wrap {
    position: relative;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    overflow: visible;
  }
  .fto-adm-ui .fto-detail-attendance-students-table .col-profile img,
  .fto-adm-ui .fto-detail-attendance-instructors-table .col-profile img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid #fff;
    box-shadow: 0 2px 8px rgba(12, 31, 61, 0.1);
    display: block;
  }
  .fto-adm-ui .fto-detail-attendance-students-table .col-profile__avatar-status,
  .fto-adm-ui .fto-detail-attendance-instructors-table .col-profile__avatar-status {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    border: 2px solid #fff;
    background: #22a06b;
    box-shadow: 0 1px 4px rgba(12, 31, 61, 0.18);
    z-index: 1;
    font-size: 0;
    line-height: 0;
    color: transparent;
  }
  .fto-adm-ui .fto-detail-attendance-students-table .col-profile__avatar-status--active,
  .fto-adm-ui .fto-detail-attendance-instructors-table .col-profile__avatar-status--active {
    background: #22a06b;
  }
  .fto-adm-ui .fto-detail-attendance-students-table .col-profile__avatar-status--inactive, .fto-adm-ui .fto-detail-attendance-students-table .col-profile__avatar-status--offline,
  .fto-adm-ui .fto-detail-attendance-instructors-table .col-profile__avatar-status--inactive,
  .fto-adm-ui .fto-detail-attendance-instructors-table .col-profile__avatar-status--offline {
    background: #9aa8b8;
  }
  .fto-adm-ui .fto-detail-attendance-reports-table .table-head,
  .fto-adm-ui .fto-detail-attendance-reports-table .fto-directory-row.fto-detail-attendance-report-row {
    grid-template-columns: minmax(0, 0.3fr) minmax(0, 2fr) minmax(120px, auto);
    min-width: 720px;
  }
  .fto-adm-ui .fto-detail-attendance-reports-table .fto-detail-attendance-report-row__name {
    justify-self: start;
    text-align: left;
  }
  .fto-adm-ui .fto-detail-attendance-reports-table .table-head > span:nth-child(1) {
    justify-self: start;
    text-align: left;
  }
  .fto-adm-ui .fto-detail-assessment-homework-table .table-head,
  .fto-adm-ui .fto-detail-assessment-homework-table .fto-directory-row.fto-detail-assessment-homework-row {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.55fr) minmax(0, 0.7fr) minmax(0, 0.75fr) minmax(0, 0.8fr) minmax(0, 0.72fr) minmax(0, 0.62fr) minmax(0, 0.72fr) minmax(72px, auto);
    min-width: 1080px;
  }
  .fto-adm-ui .fto-detail-assessment-homework-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-detail-assessment-homework-table .fto-detail-assessment-homework-row__title {
    justify-self: start;
    text-align: left;
  }
  .fto-adm-ui .fto-detail-assessment-homework-table .fto-detail-assessment-homework-row .col-action {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
  }
  .fto-adm-ui .fto-detail-assessment-exams-table .table-head,
  .fto-adm-ui .fto-detail-assessment-exams-table .fto-directory-row.fto-detail-assessment-exam-row {
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.5fr) minmax(0, 0.75fr) minmax(0, 0.85fr) minmax(0, 0.72fr) minmax(0, 0.6fr) minmax(0, 0.55fr) minmax(0, 0.62fr) minmax(72px, auto);
    min-width: 1000px;
  }
  .fto-adm-ui .fto-detail-assessment-exams-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-detail-assessment-exams-table .fto-detail-assessment-exam-row__name {
    justify-self: start;
    text-align: left;
  }
  .fto-adm-ui .fto-detail-assessment-dgca-table .table-head,
  .fto-adm-ui .fto-detail-assessment-dgca-table .fto-directory-row.fto-detail-assessment-dgca-row {
    grid-template-columns: minmax(0, 1.65fr) minmax(0, 0.55fr) minmax(0, 0.65fr) minmax(0, 0.6fr) minmax(0, 0.55fr) minmax(0, 0.55fr) minmax(100px, auto);
    min-width: 920px;
  }
  .fto-adm-ui .fto-detail-assessment-dgca-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-detail-assessment-dgca-table .fto-detail-assessment-dgca-row__subject {
    justify-self: start;
    text-align: left;
  }
  .fto-adm-ui .fto-detail-payments-table {
    width: 100%;
  }
  .fto-adm-ui .fto-detail-payments-table .table-body {
    width: 100%;
  }
  .fto-adm-ui .fto-detail-payments-table .table-head,
  .fto-adm-ui .fto-detail-payments-table .fto-directory-row.fto-detail-payment-row {
    grid-template-columns: 44px minmax(88px, 0.85fr) minmax(104px, 1.15fr) minmax(112px, 1.05fr) minmax(84px, 0.8fr) minmax(52px, 0.5fr) minmax(92px, 0.9fr) minmax(124px, 1.2fr) minmax(72px, 0.7fr) minmax(148px, 1fr);
    width: 100%;
    min-width: 1120px;
    box-sizing: border-box;
    padding-left: 1rem;
    padding-right: 1rem;
    column-gap: 0.75rem;
  }
  .fto-adm-ui .fto-detail-payments-table .table-head {
    padding-top: 0;
    padding-bottom: 0.75rem;
  }
  .fto-adm-ui .fto-detail-payments-table .fto-directory-row.fto-detail-payment-row {
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
  }
  .fto-adm-ui .fto-detail-payments-table .table-head > span {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .fto-adm-ui .fto-detail-payments-table .table-head > span .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .fto-adm-ui .fto-detail-payments-table .table-head > span .table-head__label {
    justify-content: flex-start;
  }
  .fto-adm-ui .fto-detail-payments-table .table-head > span .table-head__filter {
    text-align: left;
  }
  .fto-adm-ui .fto-detail-payments-table .fto-detail-payment-row > * {
    justify-self: start !important;
    text-align: left !important;
  }
  .fto-adm-ui .fto-detail-payments-table .fto-detail-payment-row .fto-payment-badge {
    margin-inline: 0;
  }
  .fto-adm-ui .fto-detail-payments-table .fto-detail-payment-row .col-action {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.4rem;
    flex-wrap: wrap;
    width: 100%;
  }
  .fto-adm-ui .fto-detail-payments-table .fto-detail-payment-row .col-action .btn--view {
    padding: 0.35rem 0.75rem;
    font-size: 0.6875rem;
  }
  .fto-adm-ui .student-report-list__table {
    width: 100%;
  }
  .fto-adm-ui .student-report-list__table .table-head,
  .fto-adm-ui .student-report-list__table .fto-directory-row.fto-report-list-row {
    width: 100%;
    box-sizing: border-box;
    padding-left: 1rem;
    padding-right: 1rem;
    column-gap: 0.75rem;
  }
}
@media (min-width: 992px) and (min-width: 992px) {
  .fto-adm-ui .student-report-list__table .table-head,
  .fto-adm-ui .student-report-list__table .fto-directory-row.fto-report-list-row {
    grid-template-columns: 44px minmax(0, 1.55fr) minmax(0, 0.65fr) minmax(0, 0.95fr) minmax(0, 1.15fr) minmax(0, 0.9fr) minmax(0, 0.9fr);
    min-width: 980px;
  }
}
@media (min-width: 992px) {
  .fto-adm-ui .instructor-report-list__table {
    width: 100%;
  }
  .fto-adm-ui .instructor-report-list__table .table-head,
  .fto-adm-ui .instructor-report-list__table .fto-directory-row.fto-report-list-row {
    width: 100%;
    box-sizing: border-box;
    padding-left: 1rem;
    padding-right: 1rem;
    column-gap: 0.75rem;
  }
}
@media (min-width: 992px) and (min-width: 992px) {
  .fto-adm-ui .instructor-report-list__table .table-head,
  .fto-adm-ui .instructor-report-list__table .fto-directory-row.fto-report-list-row {
    grid-template-columns: 44px minmax(160px, 1.35fr) minmax(100px, 0.9fr) minmax(0, 1.45fr) minmax(88px, 0.7fr) minmax(88px, 0.75fr);
    min-width: 980px;
  }
}
@media (min-width: 992px) {
  .fto-adm-ui .instructor-report-list__table .table-head > span,
  .fto-adm-ui .instructor-report-list__table .fto-directory-row.fto-report-list-row > * {
    min-width: 0;
    max-width: 100%;
  }
  .fto-adm-ui .instructor-report-list__table .fto-directory-row.fto-report-list-row > * {
    overflow: hidden;
  }
  .fto-adm-ui .instructor-report-list__table .col-profile {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
    max-width: 100%;
  }
  .fto-adm-ui .instructor-report-list__table .col-profile > div {
    min-width: 0;
    overflow: hidden;
  }
  .fto-adm-ui .instructor-report-list__table .col-profile strong,
  .fto-adm-ui .instructor-report-list__table .col-profile span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fto-adm-ui .instructor-report-list__table .col-batches {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    line-height: 1.35;
  }
  .fto-adm-ui .instructor-report-list__table .col-classes,
  .fto-adm-ui .instructor-report-list__table .col-duration {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .fto-adm-ui .attendance-report-list__table {
    width: 100%;
  }
  .fto-adm-ui .attendance-report-list__table .table-head,
  .fto-adm-ui .attendance-report-list__table .fto-directory-row.fto-report-list-row {
    width: 100%;
    box-sizing: border-box;
    padding-left: 1rem;
    padding-right: 1rem;
    column-gap: 0.75rem;
  }
}
@media (min-width: 992px) and (min-width: 992px) {
  .fto-adm-ui .attendance-report-list__table .table-head,
  .fto-adm-ui .attendance-report-list__table .fto-directory-row.fto-report-list-row {
    grid-template-columns: 44px minmax(0, 0.95fr) minmax(0, 0.85fr) minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 0.65fr) minmax(0, 0.65fr) minmax(0, 0.75fr);
    min-width: 1040px;
  }
}
@media (min-width: 992px) {
  .fto-adm-ui .exam-report-list__table {
    width: 100%;
  }
  .fto-adm-ui .exam-report-list__table .table-head,
  .fto-adm-ui .exam-report-list__table .fto-directory-row.fto-report-list-row {
    width: 100%;
    box-sizing: border-box;
    padding-left: 1rem;
    padding-right: 1rem;
    column-gap: 0.75rem;
  }
}
@media (min-width: 992px) and (min-width: 992px) {
  .fto-adm-ui .exam-report-list__table .table-head,
  .fto-adm-ui .exam-report-list__table .fto-directory-row.fto-report-list-row {
    grid-template-columns: 44px minmax(0, 0.95fr) minmax(0, 0.85fr) minmax(0, 1.1fr) minmax(0, 1.1fr) minmax(0, 0.75fr) minmax(0, 0.75fr);
    min-width: 1000px;
  }
}
@media (min-width: 992px) {
  .fto-adm-ui .class-report-list__table {
    width: 100%;
  }
  .fto-adm-ui .class-report-list__table .table-head,
  .fto-adm-ui .class-report-list__table .fto-directory-row.fto-report-list-row {
    width: 100%;
    box-sizing: border-box;
    padding-left: 1rem;
    padding-right: 1rem;
    column-gap: 0.75rem;
  }
}
@media (min-width: 992px) and (min-width: 992px) {
  .fto-adm-ui .class-report-list__table .table-head,
  .fto-adm-ui .class-report-list__table .fto-directory-row.fto-report-list-row {
    grid-template-columns: 44px minmax(72px, 0.7fr) minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 0.75fr) minmax(0, 1.5fr) minmax(72px, 0.65fr) minmax(72px, 0.7fr);
    min-width: 1180px;
  }
}
@media (min-width: 992px) {
  .fto-adm-ui .class-report-list__table .fto-directory-row.fto-report-list-row > * {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }
  .fto-adm-ui .student-report-list__table .fto-directory-row.fto-report-list-row > *,
  .fto-adm-ui .attendance-report-list__table .fto-directory-row.fto-report-list-row > *,
  .fto-adm-ui .exam-report-list__table .fto-directory-row.fto-report-list-row > * {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }
  .fto-adm-ui .student-report-list__table .table-head > span,
  .fto-adm-ui .instructor-report-list__table .table-head > span,
  .fto-adm-ui .attendance-report-list__table .table-head > span,
  .fto-adm-ui .exam-report-list__table .table-head > span,
  .fto-adm-ui .class-report-list__table .table-head > span {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .fto-adm-ui .student-report-list__table .table-head > span .sa-directory-sort-btn,
  .fto-adm-ui .instructor-report-list__table .table-head > span .sa-directory-sort-btn,
  .fto-adm-ui .attendance-report-list__table .table-head > span .sa-directory-sort-btn,
  .fto-adm-ui .exam-report-list__table .table-head > span .sa-directory-sort-btn,
  .fto-adm-ui .class-report-list__table .table-head > span .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .fto-adm-ui .student-report-list__table .table-head > span .table-head__label,
  .fto-adm-ui .instructor-report-list__table .table-head > span .table-head__label,
  .fto-adm-ui .attendance-report-list__table .table-head > span .table-head__label,
  .fto-adm-ui .exam-report-list__table .table-head > span .table-head__label,
  .fto-adm-ui .class-report-list__table .table-head > span .table-head__label {
    justify-content: flex-start;
  }
  .fto-adm-ui .student-report-list__table .table-head > span .table-head__filter,
  .fto-adm-ui .instructor-report-list__table .table-head > span .table-head__filter,
  .fto-adm-ui .attendance-report-list__table .table-head > span .table-head__filter,
  .fto-adm-ui .exam-report-list__table .table-head > span .table-head__filter,
  .fto-adm-ui .class-report-list__table .table-head > span .table-head__filter {
    text-align: left;
  }
  .fto-adm-ui .student-report-list__table .table-head > span,
  .fto-adm-ui .instructor-report-list__table .table-head > span,
  .fto-adm-ui .attendance-report-list__table .table-head > span,
  .fto-adm-ui .exam-report-list__table .table-head > span,
  .fto-adm-ui .class-report-list__table .table-head > span {
    justify-self: stretch;
    width: 100%;
  }
  .fto-adm-ui .student-report-list__table .fto-directory-row.fto-report-list-row > *,
  .fto-adm-ui .instructor-report-list__table .fto-directory-row.fto-report-list-row > *,
  .fto-adm-ui .attendance-report-list__table .fto-directory-row.fto-report-list-row > *,
  .fto-adm-ui .exam-report-list__table .fto-directory-row.fto-report-list-row > *,
  .fto-adm-ui .class-report-list__table .fto-directory-row.fto-report-list-row > * {
    justify-self: stretch !important;
    text-align: left !important;
    width: 100%;
  }
  .fto-adm-ui .fto-homework-detail-students-table .table-head,
  .fto-adm-ui .fto-homework-detail-students-table .fto-directory-row.fto-homework-detail-student-row {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 0.55fr) minmax(0, 0.9fr) minmax(140px, auto) minmax(130px, auto);
    min-width: 1040px;
  }
  .fto-adm-ui .fto-homework-detail-students-table.fto-homework-detail-students-table--no-score .table-head,
  .fto-adm-ui .fto-homework-detail-students-table.fto-homework-detail-students-table--no-score .fto-directory-row.fto-homework-detail-student-row {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 0.9fr) minmax(140px, auto);
    min-width: 900px;
  }
  .fto-adm-ui .fto-homework-detail-students-table.fto-homework-detail-students-table--no-view .table-head,
  .fto-adm-ui .fto-homework-detail-students-table.fto-homework-detail-students-table--no-view .fto-directory-row.fto-homework-detail-student-row {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 0.9fr) minmax(130px, auto);
    min-width: 720px;
  }
  .fto-adm-ui .fto-homework-detail-students-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-homework-detail-students-table .fto-homework-detail-row__profile {
    justify-self: start;
    text-align: left;
  }
  .fto-adm-ui .fto-homework-detail-students-table .col-action {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    flex-wrap: wrap;
  }
  .fto-adm-ui .fto-homework-detail-students-table .col-action .btn {
    padding: 0.35rem 0.85rem;
    font-size: 0.6875rem;
    white-space: nowrap;
  }
}
@media (min-width: 992px) and (max-width: 991.98px) {
  .fto-adm-ui .fto-homework-detail-students-table .table-head,
  .fto-adm-ui .fto-homework-detail-students-table .fto-directory-row.fto-homework-detail-student-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-homework-detail-assigned-table .table-head,
  .fto-adm-ui .fto-homework-detail-assigned-table .fto-directory-row.fto-homework-detail-assigned-row {
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.75fr) minmax(0, 0.85fr) minmax(0, 0.9fr) minmax(120px, auto);
    min-width: 900px;
  }
  .fto-adm-ui .fto-homework-detail-assigned-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-homework-detail-assigned-table .fto-homework-detail-row__profile {
    justify-self: start;
    text-align: left;
  }
  .fto-adm-ui .fto-homework-detail-assigned-table .col-action .btn {
    padding: 0.35rem 0.85rem;
    font-size: 0.6875rem;
  }
  .fto-adm-ui .fto-homework-detail-submissions-table .table-head,
  .fto-adm-ui .fto-homework-detail-submissions-table .fto-directory-row.fto-homework-detail-submission-row {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 0.6fr) minmax(130px, auto);
    min-width: 960px;
  }
  .fto-adm-ui .fto-homework-detail-submissions-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-homework-detail-submissions-table .fto-homework-detail-row__profile {
    justify-self: start;
    text-align: left;
  }
  .fto-adm-ui .fto-homework-detail-submissions-table .col-action .btn {
    padding: 0.35rem 0.85rem;
    font-size: 0.6875rem;
  }
  .fto-adm-ui .fto-homework-detail-results-table .table-head,
  .fto-adm-ui .fto-homework-detail-results-table .fto-directory-row.fto-homework-detail-result-row {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.55fr) minmax(0, 0.65fr) minmax(0, 0.85fr) minmax(0, 1.2fr) minmax(120px, auto);
    min-width: 1040px;
  }
  .fto-adm-ui .fto-homework-detail-results-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-homework-detail-results-table .fto-homework-detail-row__profile {
    justify-self: start;
    text-align: left;
  }
  .fto-adm-ui .fto-homework-detail-results-table .col-action .btn {
    padding: 0.35rem 0.85rem;
    font-size: 0.6875rem;
  }
  .fto-adm-ui .fto-homework-detail-reminders-table .table-head,
  .fto-adm-ui .fto-homework-detail-reminders-table .fto-directory-row.fto-homework-detail-reminder-row {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) minmax(0, 1fr) minmax(0, 0.85fr) minmax(0, 0.75fr);
    min-width: 880px;
  }
  .fto-adm-ui .fto-exam-detail-assigned-table .table-head,
  .fto-adm-ui .fto-exam-detail-assigned-table .fto-directory-row.fto-exam-detail-assigned-row {
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.75fr) minmax(0, 0.95fr) minmax(0, 0.9fr) minmax(120px, auto);
    min-width: 920px;
  }
  .fto-adm-ui .fto-exam-detail-assigned-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-exam-detail-assigned-table .fto-homework-detail-row__profile {
    justify-self: start;
    text-align: left;
  }
  .fto-adm-ui .fto-exam-detail-assigned-table .col-action .btn {
    padding: 0.35rem 0.85rem;
    font-size: 0.6875rem;
  }
  .fto-adm-ui .fto-exam-detail-students-table .table-head,
  .fto-adm-ui .fto-exam-detail-students-table .fto-directory-row.fto-exam-detail-student-row {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.75fr) minmax(0, 0.75fr) minmax(0, 0.85fr) minmax(0, 0.55fr) minmax(0, 0.6fr) minmax(110px, auto);
    min-width: 980px;
  }
  .fto-adm-ui .fto-exam-detail-students-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-exam-detail-students-table .fto-homework-detail-row__profile {
    justify-self: start;
    text-align: left;
  }
  .fto-adm-ui .fto-exam-detail-students-table .table-head .sa-directory-sort-btn {
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .fto-adm-ui .fto-exam-detail-students-table .col-action .btn {
    padding: 0.35rem 0.85rem;
    font-size: 0.6875rem;
  }
  .fto-adm-ui .fto-exam-detail-results-table .table-head,
  .fto-adm-ui .fto-exam-detail-results-table .fto-directory-row.fto-exam-detail-result-row {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.55fr) minmax(0, 0.65fr) minmax(0, 0.75fr) minmax(120px, auto);
    min-width: 900px;
  }
  .fto-adm-ui .fto-exam-detail-results-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-exam-detail-results-table .fto-homework-detail-row__profile {
    justify-self: start;
    text-align: left;
  }
  .fto-adm-ui .fto-exam-detail-results-table .col-action .btn {
    padding: 0.35rem 0.85rem;
    font-size: 0.6875rem;
  }
  .fto-adm-ui .fto-exam-detail-attendance-table .table-head,
  .fto-adm-ui .fto-exam-detail-attendance-table .fto-directory-row.fto-exam-detail-attendance-row {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.75fr) minmax(0, 0.85fr) minmax(0, 0.75fr) minmax(0, 0.75fr);
    min-width: 900px;
  }
  .fto-adm-ui .fto-exam-detail-attendance-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-exam-detail-attendance-table .fto-homework-detail-row__profile {
    justify-self: start;
    text-align: left;
  }
  .fto-adm-ui .fto-exam-detail-notifications-table .table-head,
  .fto-adm-ui .fto-exam-detail-notifications-table .fto-directory-row.fto-exam-detail-notification-row {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) minmax(0, 1fr) minmax(0, 0.85fr) minmax(0, 0.75fr);
    min-width: 880px;
  }
  .fto-adm-ui .fto-resources-ppt-table .table-head,
  .fto-adm-ui .fto-resources-ppt-table .fto-directory-row.fto-resources-ppt-row {
    grid-template-columns: minmax(0, 1.2fr) minmax(72px, 0.55fr) minmax(64px, 0.5fr) minmax(88px, 0.65fr) minmax(64px, 0.5fr) minmax(88px, 0.7fr) minmax(88px, 0.7fr) minmax(80px, 0.65fr) minmax(100px, auto);
    min-width: 1180px;
  }
  .fto-adm-ui .fto-resources-ppt-table .table-head > span:nth-child(1),
  .fto-adm-ui .fto-resources-ppt-table .fto-resources-ppt-row__title {
    justify-self: start;
    text-align: left;
  }
  .fto-adm-ui .fto-resources-ppt-table .col-action .btn {
    padding: 0.35rem 0.85rem;
    font-size: 0.6875rem;
  }
  .fto-adm-ui .fto-resources-qb-table .table-head,
  .fto-adm-ui .fto-resources-qb-table .fto-directory-row.fto-resources-qb-row {
    grid-template-columns: minmax(100px, 0.7fr) minmax(100px, 0.75fr) minmax(0, 2fr) minmax(90px, 0.85fr) minmax(72px, 0.55fr) minmax(88px, 0.6fr) minmax(64px, 0.45fr) minmax(88px, auto);
    min-width: 1040px;
  }
  .fto-adm-ui .fto-resources-qb-table .fto-resources-qb-row__question {
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.35;
  }
  .fto-adm-ui .fto-resources-qb-table .col-action .btn {
    padding: 0.35rem 0.85rem;
    font-size: 0.6875rem;
  }
}
.fto-adm-ui .fto-detail-cgi-table .fto-detail-cgi-row__profile {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .fto-detail-staff-table .fto-detail-staff-row__profile {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .fto-detail-instructors-table .fto-detail-instructor-row__profile {
  display: flex;
  align-items: center;
  justify-content: center;
}
.fto-adm-ui .program-batches-table .table-head,
.fto-adm-ui .program-batches-table .fto-directory-row.program-batch-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 0.65fr) minmax(0, 0.85fr) minmax(100px, 120px);
  min-width: 760px;
}
.fto-adm-ui .program-batches-table .program-batch-row__batch {
  font-weight: 700;
  color: #1a2b42;
}
@media (min-width: 992px) {
  .fto-adm-ui .program-batches-table .fto-directory-row.program-batch-row .badge,
  .fto-adm-ui .program-batches-table .fto-directory-row.program-batch-row .batch-details-page__badge--completed {
    margin-inline: auto;
  }
}
.fto-adm-ui .program-batches-directory .directory__header--tools-only {
  margin-bottom: 1rem;
}
.fto-adm-ui .program-batches-empty {
  padding: 1rem 0.25rem;
  font-size: 13px;
}
.fto-adm-ui .package-students-directory .directory__header {
  margin-bottom: 1rem;
}
.fto-adm-ui .package-students-directory .package-students-tier-filter {
  min-width: 150px;
}
@media (min-width: 992px) {
  .fto-adm-ui .package-students-table .table-head,
  .fto-adm-ui .package-students-table .fto-directory-row.package-students-row {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.05fr) minmax(0, 1.35fr) minmax(0, 0.75fr) minmax(0, 0.8fr) minmax(90px, auto);
    min-width: 980px;
  }
}
.fto-adm-ui .package-students-table .package-students-row__name {
  display: block;
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .package-students-table .package-students-row__sub {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6b7c93;
}
@media (min-width: 992px) {
  .fto-adm-ui .package-students-table .fto-directory-row.package-students-row .badge {
    margin-inline: auto;
  }
  .fto-adm-ui .package-students-table .fto-directory-row.package-students-row .col-action .btn--view {
    margin-inline: auto;
  }
}
.fto-adm-ui .batch-upcoming-classes-directory .directory__header {
  margin-bottom: 1rem;
}
.fto-adm-ui .batch-upcoming-classes-directory .batch-detail-section-title {
  margin-bottom: 0;
}
.fto-adm-ui .batch-upcoming-classes-table .table-head,
.fto-adm-ui .batch-upcoming-classes-table .fto-directory-row.batch-upcoming-class-row {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 0.9fr) minmax(0, 1fr) minmax(0, 0.85fr);
  min-width: 820px;
}
.fto-adm-ui .batch-upcoming-classes-table .batch-upcoming-class-row__subject {
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .batch-upcoming-classes-table .fto-directory-row.batch-upcoming-class-row .sd-badge {
  margin-inline: auto;
}
.fto-adm-ui .classroom-upcoming-sessions-directory .directory__header {
  margin-bottom: 1rem;
}
.fto-adm-ui .classroom-upcoming-sessions-directory .batch-detail-section-title {
  margin-bottom: 0;
}
.fto-adm-ui .classroom-upcoming-sessions-table .table-head,
.fto-adm-ui .classroom-upcoming-sessions-table .fto-directory-row.classroom-upcoming-session-row {
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1.1fr) minmax(100px, auto);
  min-width: 720px;
}
.fto-adm-ui .classroom-upcoming-sessions-table .classroom-upcoming-session-row__session {
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .classroom-upcoming-sessions-table .fto-directory-row.classroom-upcoming-session-row .sd-badge {
  margin-inline: auto;
}
.fto-adm-ui .batch-students-directory .directory__header--tools-only {
  margin-bottom: 1rem;
}
.fto-adm-ui .batch-students-table .table-head,
.fto-adm-ui .batch-students-table .fto-directory-row.batch-student-row {
  grid-template-columns: 56px minmax(0, 1.2fr) minmax(0, 0.9fr) minmax(0, 0.7fr) minmax(0, 1.1fr) minmax(0, 0.85fr);
  min-width: 840px;
}
.fto-adm-ui .batch-students-table .table-head > span:first-child,
.fto-adm-ui .batch-students-table .batch-student-row__avatar {
  justify-self: center;
  text-align: center;
}
.fto-adm-ui .batch-students-table .batch-student-row__avatar {
  justify-content: center;
}
.fto-adm-ui .batch-students-table .batch-student-row__avatar img {
  width: 40px;
  height: 40px;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(12, 31, 61, 0.1);
}
.fto-adm-ui .batch-students-table .batch-student-row__name {
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .batch-students-table .fto-directory-row.batch-student-row .sd-badge {
  margin-inline: auto;
}
.fto-adm-ui .batch-activity-directory .directory__header--tools-only {
  margin-bottom: 1rem;
}
.fto-adm-ui .batch-activity-table .table-head,
.fto-adm-ui .batch-activity-table .fto-directory-row.batch-activity-row {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 0.85fr);
  min-width: 760px;
}
.fto-adm-ui .batch-activity-table .batch-activity-row__datetime {
  font-weight: 600;
  color: #1a2b42;
}
.fto-adm-ui .batch-activity-table .fto-directory-row.batch-activity-row .sd-badge {
  margin-inline: auto;
}
.fto-adm-ui .cgi-feedback-classes-table .table-head,
.fto-adm-ui .cgi-feedback-classes-table .fto-directory-row.cgi-feedback-class-row {
  grid-template-columns: 52px 1.25fr 0.85fr 0.7fr 0.75fr 1.2fr 1.1fr minmax(88px, auto);
  min-width: 1040px;
}
.fto-adm-ui .cgi-feedback-classes-table .table-head > span:nth-child(2) {
  text-align: left;
  justify-self: start;
  align-items: flex-start;
}
.fto-adm-ui .cgi-feedback-classes-table .table-head > span:nth-child(2) .sa-directory-sort-btn {
  justify-content: flex-start;
  width: 100%;
}
.fto-adm-ui .cgi-feedback-classes-table .table-head > span:nth-child(2) .table-head__label {
  justify-content: flex-start;
}
.fto-adm-ui .cgi-feedback-classes-table .table-head > span:nth-child(2) .table-head__filter {
  text-align: left;
}
.fto-adm-ui .cgi-feedback-classes-table .fto-directory-row.cgi-feedback-class-row .cgi-feedback-class-row__name {
  justify-self: start !important;
  text-align: left !important;
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .cgi-feedback-classes-table .fto-directory-row.cgi-feedback-class-row .cgi-feedback-row__students {
  font-weight: 600;
}
.fto-adm-ui .cgi-feedback-classes-table .fto-directory-row.cgi-feedback-class-row .cgi-feedback-row__students.cgi-feedback-row__students--complete {
  color: #22a06b;
}
.fto-adm-ui .cgi-feedback-classes-table .fto-directory-row.cgi-feedback-class-row .cgi-feedback-row__students.cgi-feedback-row__students--partial {
  color: #d97706;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .cgi-feedback-classes-table .table-head,
  .fto-adm-ui .cgi-feedback-classes-table .fto-directory-row.cgi-feedback-class-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
  .fto-adm-ui .cgi-feedback-classes-table .fto-directory-row.cgi-feedback-class-row .cgi-feedback-class-row__name {
    justify-self: stretch !important;
    text-align: left !important;
  }
}
.fto-adm-ui .cgi-feedback-students-table .table-head,
.fto-adm-ui .cgi-feedback-students-table .fto-directory-row.cgi-feedback-student-row {
  grid-template-columns: 52px 1.35fr 0.85fr 0.95fr 1.15fr minmax(148px, auto);
  min-width: 960px;
}
.fto-adm-ui .cgi-feedback-students-table .table-head > span:nth-child(2) {
  text-align: left;
  justify-self: start;
  align-items: flex-start;
}
.fto-adm-ui .cgi-feedback-students-table .table-head > span:nth-child(2) .sa-directory-sort-btn {
  justify-content: flex-start;
  width: 100%;
}
.fto-adm-ui .cgi-feedback-students-table .table-head > span:nth-child(2) .table-head__label {
  justify-content: flex-start;
}
.fto-adm-ui .cgi-feedback-students-table .table-head > span:nth-child(2) .table-head__filter {
  text-align: left;
}
.fto-adm-ui .cgi-feedback-students-table .fto-directory-row.cgi-feedback-student-row {
  overflow: hidden;
}
.fto-adm-ui .cgi-feedback-students-table .fto-directory-row.cgi-feedback-student-row .cgi-feedback-card__name {
  justify-self: start !important;
  text-align: left !important;
}
.fto-adm-ui .cgi-feedback-students-table .fto-directory-row.cgi-feedback-student-row .cgi-feedback-badge {
  margin-inline: auto;
}
.fto-adm-ui .cgi-feedback-students-table .fto-directory-row.cgi-feedback-student-row .cgi-feedback-card__detail {
  grid-column: 1/-1;
  width: 100%;
  margin-top: 0.75rem;
  padding: 1rem;
  border: 0;
  background: #f8fafc;
  border-radius: 16px;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .cgi-feedback-students-table .table-head,
  .fto-adm-ui .cgi-feedback-students-table .fto-directory-row.cgi-feedback-student-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
  .fto-adm-ui .cgi-feedback-students-table .fto-directory-row.cgi-feedback-student-row .cgi-feedback-card__name {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    text-align: right;
    width: 100%;
  }
  .fto-adm-ui .cgi-feedback-students-table .fto-directory-row.cgi-feedback-student-row .cgi-feedback-card__detail {
    grid-column: auto;
    margin-top: 0;
  }
  .fto-adm-ui .cgi-feedback-students-table .fto-directory-row.cgi-feedback-student-row .col-action.cgi-feedback-card__action {
    width: 100%;
  }
  .fto-adm-ui .cgi-feedback-students-table .fto-directory-row.cgi-feedback-student-row .col-action.cgi-feedback-card__action .btn--view {
    width: 100%;
    justify-content: center;
  }
}
.fto-adm-ui .cgi-feedback-summary__metrics {
  flex: 1 1 560px;
  margin: 0;
  gap: 10px;
  min-width: 0;
  width: 100%;
}
@media (max-width: 1199.98px) {
  .fto-adm-ui .cgi-feedback-summary__metrics {
    flex: 1 1 100%;
  }
}
.fto-adm-ui .cgi-feedback-summary__metrics .stat-card {
  padding: 14px 12px;
  gap: 10px;
  border-radius: 16px;
}
.fto-adm-ui .cgi-feedback-summary__metrics .stat-card__icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}
.fto-adm-ui .cgi-feedback-summary__metrics .stat-card__icon i {
  font-size: 1rem;
}
.fto-adm-ui .cgi-feedback-summary__metrics .stat-card__value {
  font-size: 1.15rem;
}
.fto-adm-ui .cgi-feedback-summary__metrics .stat-card__label {
  font-size: 0.65rem;
}
@media (max-width: 575.98px) {
  .fto-adm-ui .cgi-feedback-summary__metrics .stat-card {
    padding: 16px 18px;
    gap: 16px;
  }
  .fto-adm-ui .cgi-feedback-summary__metrics .stat-card__icon {
    width: 40px;
    height: 40px;
  }
  .fto-adm-ui .cgi-feedback-summary__metrics .stat-card__value {
    font-size: 1.275rem;
  }
  .fto-adm-ui .cgi-feedback-summary__metrics .stat-card__label {
    font-size: 11px;
  }
}
.fto-adm-ui .classroom-activity-directory .directory__header--tools-only {
  margin-bottom: 1rem;
}
.fto-adm-ui .classroom-activity-table .table-head,
.fto-adm-ui .classroom-activity-table .fto-directory-row.classroom-activity-row {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 0.85fr);
  min-width: 760px;
}
.fto-adm-ui .classroom-activity-table .classroom-activity-row__datetime {
  font-weight: 600;
  color: #1a2b42;
}
.fto-adm-ui .classroom-activity-table .fto-directory-row.classroom-activity-row .sd-badge {
  margin-inline: auto;
}
.fto-adm-ui .fto-batch-module .fto-directory-row .badge,
.fto-adm-ui .fto-batch-module .fto-directory-row .batch-details-page__badge--completed {
  margin-inline: auto;
}
@media (min-width: 992px) {
  .fto-adm-ui .quotes-table .table-head,
  .fto-adm-ui .quotes-table .fto-directory-row.quotes-row {
    grid-template-columns: minmax(200px, 2.4fr) minmax(100px, 0.9fr) minmax(90px, 0.7fr) calc(36px * 2 + 0.35rem);
    min-width: 860px;
  }
}
.fto-adm-ui .quotes-table .fto-directory-row.quotes-row .quotes-list__quote {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  justify-self: start;
  text-align: left;
}
.fto-adm-ui .quotes-table .fto-directory-row.quotes-row .quotes-list__quote-icon {
  flex-shrink: 0;
  margin-top: 0.15rem;
  font-size: 1rem;
  color: #f5b942;
}
.fto-adm-ui .quotes-table .fto-directory-row.quotes-row .quotes-list__text {
  min-width: 0;
  max-width: 100%;
  flex: 1 1 auto;
  font-weight: 500;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.fto-adm-ui .quotes-table .fto-directory-row.quotes-row .col-text--date {
  white-space: nowrap;
}
.fto-adm-ui .quotes-table .fto-directory-row.quotes-row .col-action,
.fto-adm-ui .quotes-table .fto-directory-row.quotes-row .quotes-row__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin-left: auto;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card {
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 20px;
  box-shadow: 0 2px 10px rgba(12, 31, 61, 0.04);
  padding: 1.75rem 2rem;
  transition: opacity 0.2s ease;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card.is-inactive {
  opacity: 0.72;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__head-title {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #64748b;
  letter-spacing: 0.01em;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__section {
  min-width: 0;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__image-preview {
  max-width: 100px;
  border: 1px solid rgba(12, 31, 61, 0.08);
  border-radius: 16px;
  overflow: hidden;
  background: #f8fafc;
  box-shadow: 0 2px 8px rgba(12, 31, 61, 0.04);
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__image-link {
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: zoom-in;
  transition: opacity 0.15s ease;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__image-link:hover {
  opacity: 0.88;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__image-link:focus-visible {
  outline: 2px solid rgba(12, 31, 61, 0.35);
  outline-offset: 2px;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__label {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.3;
  color: #6b7c93;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__label--link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__label--link i {
  font-size: 1rem;
  color: #6b7c93;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__value {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.45;
  color: #1a2b42;
  word-break: break-word;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__value--link {
  font-weight: 400;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__description {
  font-weight: 400;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__description p {
  margin: 0 0 0.35rem;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__description p:last-child {
  margin-bottom: 0;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__link {
  color: inherit;
  text-decoration: none;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__link:hover {
  color: #0c1f3d;
  text-decoration: underline;
}
.fto-adm-ui .dashboard-button-link-directory .dbl-card__divider {
  margin: 1.35rem 0;
  border: 0;
  border-top: 1px solid rgba(12, 31, 61, 0.08);
  opacity: 1;
}
@media (max-width: 767.98px) {
  .fto-adm-ui .dashboard-button-link-directory .dbl-card {
    padding: 1.35rem 1.25rem;
    border-radius: 18px;
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .dashboard-button-link-directory .dbl-card {
    padding: 1.15rem 1rem;
  }
  .fto-adm-ui .dashboard-button-link-directory .dbl-card .dbl-card__value {
    font-size: 0.9375rem;
  }
}
.fto-adm-ui .section-block--panel-fto .fto-adm-ui .directory {
  padding: 1rem;
  border-radius: 18px;
}
.fto-adm-ui .table-head {
  padding: 0 16px 12px;
  font-size: 11px;
  font-weight: 600;
  color: #6b7c93;
  text-transform: capitalize;
  letter-spacing: 0.02em;
}
.fto-adm-ui .table-head > span {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  text-align: center;
}
.fto-adm-ui .table-head > span:first-child {
  text-align: left;
  justify-self: start;
  align-items: flex-start;
}
.fto-adm-ui .table-head > span:first-child .table-head__label {
  justify-content: flex-start;
}
.fto-adm-ui .table-head > span:not(:first-child) {
  text-align: center;
  justify-self: center;
  align-items: center;
}
.fto-adm-ui .table-head > span:not(:first-child) .table-head__label {
  justify-content: center;
}
.fto-adm-ui .table-head__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 18px;
  width: 100%;
}
.fto-adm-ui .table-head__filter {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 30px;
  border: 1px solid #dbe6f2;
  border-radius: 10px;
  background-color: #fff;
  color: #1a2b42;
  font-family: inherit;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  padding: 0 0.55rem;
  outline: none;
  flex-shrink: 0;
}
.fto-adm-ui .table-head__filter:focus {
  border-color: rgba(12, 31, 61, 0.36);
  box-shadow: 0 0 0 2px rgba(12, 31, 61, 0.08);
}
.fto-adm-ui .table-head__filter--search {
  appearance: none;
}
.fto-adm-ui .table-head__filter--date {
  appearance: none;
  color-scheme: light;
  padding: 0 0.4rem;
}
.fto-adm-ui .table-head__filter--date::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.65;
}
.fto-adm-ui .table-head select.table-head__filter {
  appearance: none;
  cursor: pointer;
  padding-right: 1.35rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7c93' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.45rem center;
}
.fto-adm-ui .table-head select.table-head__filter--action {
  opacity: 1;
  color: #94a3b8;
  cursor: default;
  pointer-events: none;
  background-image: none;
  padding-right: 0.55rem;
}
.fto-adm-ui .table-head__filter-spacer {
  display: block;
  width: 100%;
  height: 30px;
  visibility: hidden;
}
.fto-adm-ui .table-head--sort-only {
  padding-bottom: 0.65rem;
}
.fto-adm-ui .table-head--sort-only > span {
  gap: 0;
}
.fto-adm-ui .table-head .sa-directory-sort-btn {
  display: inline-flex;
  align-items: center;
  justify-content: inherit;
  gap: 0.25rem;
  padding: 0;
  border: none;
  background: transparent;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
  cursor: pointer;
  white-space: nowrap;
}
.fto-adm-ui .table-head .sa-directory-sort-btn__icon {
  font-size: 0.7rem;
  color: rgba(107, 124, 147, 0.85);
  transition: color 0.2s ease;
}
.fto-adm-ui .table-head .sa-directory-sort-btn--active {
  color: #0c1f3d;
}
.fto-adm-ui .table-head .sa-directory-sort-btn--active .sa-directory-sort-btn__icon {
  color: #0c1f3d;
}
.fto-adm-ui .table-head > span:first-child .sa-directory-sort-btn {
  justify-content: flex-start;
}
.fto-adm-ui .table-head > span:not(:first-child) .sa-directory-sort-btn {
  justify-content: center;
  width: 100%;
}
.fto-adm-ui .student-report-list__table .table-head > span,
.fto-adm-ui .student-report-list__table .table-head > span:first-child,
.fto-adm-ui .student-report-list__table .table-head > span:not(:first-child),
.fto-adm-ui .instructor-report-list__table .table-head > span,
.fto-adm-ui .instructor-report-list__table .table-head > span:first-child,
.fto-adm-ui .instructor-report-list__table .table-head > span:not(:first-child),
.fto-adm-ui .attendance-report-list__table .table-head > span,
.fto-adm-ui .attendance-report-list__table .table-head > span:first-child,
.fto-adm-ui .attendance-report-list__table .table-head > span:not(:first-child),
.fto-adm-ui .exam-report-list__table .table-head > span,
.fto-adm-ui .exam-report-list__table .table-head > span:first-child,
.fto-adm-ui .exam-report-list__table .table-head > span:not(:first-child),
.fto-adm-ui .class-report-list__table .table-head > span,
.fto-adm-ui .class-report-list__table .table-head > span:first-child,
.fto-adm-ui .class-report-list__table .table-head > span:not(:first-child) {
  justify-self: stretch;
  width: 100%;
  min-width: 0;
  text-align: left;
  align-items: flex-start;
}
.fto-adm-ui .student-report-list__table .table-head > span .sa-directory-sort-btn,
.fto-adm-ui .student-report-list__table .table-head > span:first-child .sa-directory-sort-btn,
.fto-adm-ui .student-report-list__table .table-head > span:not(:first-child) .sa-directory-sort-btn,
.fto-adm-ui .instructor-report-list__table .table-head > span .sa-directory-sort-btn,
.fto-adm-ui .instructor-report-list__table .table-head > span:first-child .sa-directory-sort-btn,
.fto-adm-ui .instructor-report-list__table .table-head > span:not(:first-child) .sa-directory-sort-btn,
.fto-adm-ui .attendance-report-list__table .table-head > span .sa-directory-sort-btn,
.fto-adm-ui .attendance-report-list__table .table-head > span:first-child .sa-directory-sort-btn,
.fto-adm-ui .attendance-report-list__table .table-head > span:not(:first-child) .sa-directory-sort-btn,
.fto-adm-ui .exam-report-list__table .table-head > span .sa-directory-sort-btn,
.fto-adm-ui .exam-report-list__table .table-head > span:first-child .sa-directory-sort-btn,
.fto-adm-ui .exam-report-list__table .table-head > span:not(:first-child) .sa-directory-sort-btn,
.fto-adm-ui .class-report-list__table .table-head > span .sa-directory-sort-btn,
.fto-adm-ui .class-report-list__table .table-head > span:first-child .sa-directory-sort-btn,
.fto-adm-ui .class-report-list__table .table-head > span:not(:first-child) .sa-directory-sort-btn {
  justify-content: flex-start;
  width: 100%;
}
.fto-adm-ui .student-report-list__table .table-head > span .table-head__label,
.fto-adm-ui .student-report-list__table .table-head > span:first-child .table-head__label,
.fto-adm-ui .student-report-list__table .table-head > span:not(:first-child) .table-head__label,
.fto-adm-ui .instructor-report-list__table .table-head > span .table-head__label,
.fto-adm-ui .instructor-report-list__table .table-head > span:first-child .table-head__label,
.fto-adm-ui .instructor-report-list__table .table-head > span:not(:first-child) .table-head__label,
.fto-adm-ui .attendance-report-list__table .table-head > span .table-head__label,
.fto-adm-ui .attendance-report-list__table .table-head > span:first-child .table-head__label,
.fto-adm-ui .attendance-report-list__table .table-head > span:not(:first-child) .table-head__label,
.fto-adm-ui .exam-report-list__table .table-head > span .table-head__label,
.fto-adm-ui .exam-report-list__table .table-head > span:first-child .table-head__label,
.fto-adm-ui .exam-report-list__table .table-head > span:not(:first-child) .table-head__label,
.fto-adm-ui .class-report-list__table .table-head > span .table-head__label,
.fto-adm-ui .class-report-list__table .table-head > span:first-child .table-head__label,
.fto-adm-ui .class-report-list__table .table-head > span:not(:first-child) .table-head__label {
  justify-content: flex-start;
}
.fto-adm-ui .student-report-list__table .table-head > span .table-head__filter,
.fto-adm-ui .student-report-list__table .table-head > span:first-child .table-head__filter,
.fto-adm-ui .student-report-list__table .table-head > span:not(:first-child) .table-head__filter,
.fto-adm-ui .instructor-report-list__table .table-head > span .table-head__filter,
.fto-adm-ui .instructor-report-list__table .table-head > span:first-child .table-head__filter,
.fto-adm-ui .instructor-report-list__table .table-head > span:not(:first-child) .table-head__filter,
.fto-adm-ui .attendance-report-list__table .table-head > span .table-head__filter,
.fto-adm-ui .attendance-report-list__table .table-head > span:first-child .table-head__filter,
.fto-adm-ui .attendance-report-list__table .table-head > span:not(:first-child) .table-head__filter,
.fto-adm-ui .exam-report-list__table .table-head > span .table-head__filter,
.fto-adm-ui .exam-report-list__table .table-head > span:first-child .table-head__filter,
.fto-adm-ui .exam-report-list__table .table-head > span:not(:first-child) .table-head__filter,
.fto-adm-ui .class-report-list__table .table-head > span .table-head__filter,
.fto-adm-ui .class-report-list__table .table-head > span:first-child .table-head__filter,
.fto-adm-ui .class-report-list__table .table-head > span:not(:first-child) .table-head__filter {
  text-align: left;
  width: 100%;
}
.fto-adm-ui .student-report-list__table .fto-directory-row.fto-report-list-row > *,
.fto-adm-ui .instructor-report-list__table .fto-directory-row.fto-report-list-row > *,
.fto-adm-ui .attendance-report-list__table .fto-directory-row.fto-report-list-row > *,
.fto-adm-ui .exam-report-list__table .fto-directory-row.fto-report-list-row > *,
.fto-adm-ui .class-report-list__table .fto-directory-row.fto-report-list-row > * {
  justify-self: stretch !important;
  text-align: center !important;
  width: 100%;
  min-width: 0;
}
.fto-adm-ui .table-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.fto-adm-ui .student-row,
.fto-adm-ui .fto-directory-row {
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 16px;
  padding: 14px 16px;
  font-size: 13px;
  transition: box-shadow 0.15s ease;
}
.fto-adm-ui .student-row:hover,
.fto-adm-ui .fto-directory-row:hover {
  box-shadow: 0 4px 16px rgba(12, 31, 61, 0.06);
}
.fto-adm-ui .student-row > *,
.fto-adm-ui .fto-directory-row > * {
  min-width: 0;
}
.fto-adm-ui .student-row > *:first-child,
.fto-adm-ui .fto-directory-row > *:first-child {
  justify-self: start;
  text-align: left;
}
.fto-adm-ui .student-row > *:not(:first-child),
.fto-adm-ui .fto-directory-row > *:not(:first-child) {
  justify-self: center;
  text-align: center;
}
.fto-adm-ui .col-profile {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 12px;
  min-width: 0;
  text-align: left;
}
.fto-adm-ui .col-profile > div:not(.col-profile__avatar-wrap):not(.staff-avatar), .fto-adm-ui .col-profile__meta {
  min-width: 0;
  flex: 1 1 auto;
}
.fto-adm-ui .col-profile .staff-avatar {
  position: relative;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  align-self: flex-start;
}
.fto-adm-ui .col-profile img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.fto-adm-ui .col-profile strong {
  display: block;
  font-weight: 600;
  font-size: 13px;
  color: #1a2b42;
  margin-bottom: 2px;
}
.fto-adm-ui .col-profile span:not(.col-profile__batch):not(.col-profile__alert):not(.col-profile__alert-sep) {
  font-size: 11px;
}
.fto-adm-ui .col-profile__batch {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  max-width: 100%;
  margin-top: 2px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(12, 31, 61, 0.08);
  color: #0c1f3d;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fto-adm-ui .col-text {
  font-weight: 500;
  color: #1a2b42;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fto-adm-ui .col-text--wrap {
  word-break: break-word;
  line-height: 1.35;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}
.fto-adm-ui .col-seat {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 500;
}
@media (min-width: 992px) {
  .fto-adm-ui .student-row .badge {
    margin-inline: auto;
  }
  .fto-adm-ui .student-row .col-action,
  .fto-adm-ui .fto-directory-row .col-action {
    display: flex;
    justify-content: center;
  }
  .fto-adm-ui .fto-directory-row .fto-badge,
  .fto-adm-ui .fto-directory-row .fto-status {
    margin-inline: auto;
  }
}
.fto-adm-ui .list-pagination {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  padding-top: 18px;
}
.fto-adm-ui .list-pagination__summary {
  font-size: 12px;
  font-weight: 500;
  color: #6b7c93;
  margin: 0;
  justify-self: start;
}
.fto-adm-ui .list-pagination__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-self: center;
}
.fto-adm-ui .list-pagination__btn, .fto-adm-ui .list-pagination__page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #0c1f3d;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.fto-adm-ui .list-pagination__btn:hover:not(:disabled), .fto-adm-ui .list-pagination__page:hover:not(:disabled) {
  background: #f4f7fb;
}
.fto-adm-ui .list-pagination__btn:disabled, .fto-adm-ui .list-pagination__page:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.fto-adm-ui .list-pagination__btn {
  min-width: auto;
  height: 36px;
  padding: 0.45rem 0.9rem;
  border-radius: 10px;
}
.fto-adm-ui .list-pagination__page {
  min-width: 34px;
  height: 34px;
  padding: 0 0.5rem;
  border-color: transparent;
  border-radius: 8px;
  background: transparent;
}
.fto-adm-ui .list-pagination__page.is-active {
  background: #fff;
  border-color: #e2e8f0;
  color: #0c1f3d;
}
.fto-adm-ui .list-pagination__pages {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.fto-adm-ui .list-pagination__ellipsis {
  font-size: 12px;
  color: #6b7c93;
  padding: 0 4px;
}
.fto-adm-ui .list-pagination__size {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 0.25rem 0.35rem 0.25rem 0.8rem;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(12, 31, 61, 0.04);
  font-size: 11px;
  font-weight: 600;
  color: #6b7c93;
  letter-spacing: 0.01em;
  justify-self: end;
}
.fto-adm-ui .list-pagination__select {
  min-width: 74px;
  height: 32px;
  border: 0;
  border-radius: 10px;
  padding: 0 1rem 0 0.75rem;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  color: #1a2b42;
  background-color: transparent;
  cursor: pointer;
  outline: none;
}
.fto-adm-ui .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.fto-adm-ui .dot--green {
  background: #22a06b;
}
.fto-adm-ui .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  width: fit-content;
  white-space: nowrap;
}
.fto-adm-ui .badge--green {
  background: #e3f5ec;
  color: #22a06b;
}
.fto-adm-ui .badge--yellow {
  background: #fff4d6;
  color: #b8860b;
}
.fto-adm-ui .badge--orange {
  background: #fff0e0;
  color: #d97706;
}
.fto-adm-ui .badge--red {
  background: #fde8e8;
  color: #c62828;
}
.fto-adm-ui .badge--blue {
  background: #e8f4fc;
  color: #2563eb;
}
.fto-adm-ui .badge--inactive {
  background: #fde8e8;
  color: #c62828;
}
.fto-adm-ui .fto-adm-attendance--normal {
  color: #1a2b42;
  font-weight: 600;
}
.fto-adm-ui .fto-adm-attendance--warning {
  color: #d97706;
  font-weight: 600;
}
.fto-adm-ui .fto-adm-attendance--danger {
  color: #c62828;
  font-weight: 600;
}
.fto-adm-ui .fto-adm-back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #6b7c93;
  text-decoration: none;
  margin-bottom: 16px;
}
.fto-adm-ui .fto-adm-back-link:hover {
  color: #0c1f3d;
}
.fto-adm-ui .student-details-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.fto-adm-ui .student-details-header h1 {
  font-size: 26px;
  font-weight: 700;
  color: #1a2b42;
  margin-bottom: 6px;
  letter-spacing: -0.02em;
}
.fto-adm-ui .student-details-header p {
  font-size: 13px;
  color: #6b7c93;
  margin-bottom: 10px;
}
.fto-adm-ui .student-details-header__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.fto-adm-ui .student-details-cards {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 20px;
}
.fto-adm-ui .student-profile-card {
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 24px;
  padding: 22px 24px;
  box-shadow: 0 2px 12px rgba(12, 31, 61, 0.04);
}
.fto-adm-ui .student-profile-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
  padding-bottom: 20px;
  border-bottom: 1px solid #eef2f6;
}
.fto-adm-ui .student-profile-card__identity {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.fto-adm-ui .student-profile-card__avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.fto-adm-ui .student-profile-card h2 {
  font-size: 18px;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.3;
  margin: 0;
}
.fto-adm-ui .student-profile-card__id {
  font-weight: 500;
  color: #6b7c93;
  font-size: 15px;
}
.fto-adm-ui .student-profile-card__badge {
  display: inline-flex;
  padding: 6px 14px;
  border-radius: 999px;
  background: #e3f5ec;
  color: #22a06b;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.fto-adm-ui .student-profile-card__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 20px;
}
.fto-adm-ui .info-chip {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.fto-adm-ui .info-chip__icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.fto-adm-ui .info-chip__icon svg {
  width: 18px;
  height: 18px;
}
.fto-adm-ui .info-chip__icon--blue {
  background: #e8f4fc;
  color: #3b82c4;
}
.fto-adm-ui .info-chip__icon--purple {
  background: #f0e8fc;
  color: #7c5cbf;
}
.fto-adm-ui .info-chip__icon--orange {
  background: #fff0e0;
  color: #d97706;
}
.fto-adm-ui .info-chip__icon--teal {
  background: #e0f5f0;
  color: #0d9488;
}
.fto-adm-ui .info-chip__icon--green {
  background: #e3f5ec;
  color: #22a06b;
}
.fto-adm-ui .info-chip__icon--red {
  background: #fde8e8;
  color: #c62828;
}
.fto-adm-ui .info-chip__icon--yellow {
  background: #fff4d6;
  color: #b8860b;
}
.fto-adm-ui .info-chip__icon--navy {
  background: rgba(12, 31, 61, 0.08);
  color: #0c1f3d;
}
.fto-adm-ui .info-chip__label {
  display: block;
  font-size: 11px;
  color: #6b7c93;
  margin-bottom: 2px;
}
.fto-adm-ui .info-chip__value {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #1a2b42;
  word-break: break-word;
}
.fto-adm-ui .student-metrics-card {
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 24px;
  padding: 22px 24px;
  box-shadow: 0 2px 12px rgba(12, 31, 61, 0.04);
}
.fto-adm-ui .student-metrics-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #eef2f6;
}
.fto-adm-ui .student-metrics-card__head h2 {
  font-size: 16px;
  font-weight: 700;
  color: #1a2b42;
  margin: 0;
}
.fto-adm-ui .student-metrics-card__rating {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
}
.fto-adm-ui .student-metrics-card__rating svg {
  width: 18px;
  height: 18px;
  color: #3b82c4;
  margin-bottom: 4px;
}
.fto-adm-ui .student-metrics-card__rating span {
  font-size: 14px;
  color: #1a2b42;
}
.fto-adm-ui .student-metrics-card__rating span strong {
  font-weight: 700;
  color: #3b82c4;
}
.fto-adm-ui .student-metrics-card__rating small {
  font-size: 10px;
  color: #6b7c93;
}
.fto-adm-ui .metrics-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
  padding: 0;
}
.fto-adm-ui .metrics-list__item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  background: #f8fafc;
  border-radius: 12px;
  border: 1px solid #eef2f6;
}
.fto-adm-ui .metrics-list__icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.fto-adm-ui .metrics-list__icon svg {
  width: 20px;
  height: 20px;
}
.fto-adm-ui .metrics-list__icon--green {
  background: #e3f5ec;
  color: #22a06b;
}
.fto-adm-ui .metrics-list__icon--yellow {
  background: #fff4d6;
  color: #b8860b;
}
.fto-adm-ui .metrics-list__icon--blue {
  background: #e8f4fc;
  color: #3b82c4;
}
.fto-adm-ui .metrics-list__icon--red {
  background: #fde8e8;
  color: #c62828;
}
.fto-adm-ui .metrics-list__label {
  display: block;
  font-size: 12px;
  color: #6b7c93;
  margin-bottom: 2px;
}
.fto-adm-ui .metrics-list__value {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .fto-adm-status-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.fto-adm-ui .fto-adm-status-badges .badge {
  padding: 6px 12px;
  font-size: 11px;
}
.fto-adm-ui .detail-attendance {
  padding: 8px 0 12px;
}
.fto-adm-ui .detail-attendance__title {
  font-size: 22px;
  font-weight: 700;
  color: #1a2b42;
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}
.fto-adm-ui .detail-attendance__desc {
  font-size: 13px;
  color: #6b7c93;
  max-width: 520px;
  line-height: 1.5;
}
.fto-adm-ui .detail-attendance-summary {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  max-width: none;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid rgba(12, 31, 61, 0.06);
  background: #fff;
  box-shadow: 0 2px 10px rgba(12, 31, 61, 0.06);
}
.fto-adm-ui .detail-attendance-summary__left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1 1 auto;
  min-width: 0;
  padding: 12px 18px 12px 14px;
  background: linear-gradient(135deg, #f15b55 0%, #e84a44 100%);
  color: #fff;
}
.fto-adm-ui .detail-attendance-summary__icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.fto-adm-ui .detail-attendance-summary__icon svg {
  width: 18px;
  height: 18px;
}
.fto-adm-ui .detail-attendance-summary__label {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.fto-adm-ui .detail-attendance-summary__right {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 12px 22px;
  background: #f8fafc;
  min-width: 88px;
}
.fto-adm-ui .detail-attendance-summary__percent {
  font-size: 20px;
  font-weight: 700;
  color: #0c1f3d;
  letter-spacing: -0.02em;
  line-height: 1;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .detail-attendance-summary {
    max-width: 100%;
  }
  .fto-adm-ui .detail-attendance-summary .detail-attendance-summary__left, .fto-adm-ui .detail-attendance-summary__left {
    padding: 11px 14px 11px 12px;
    gap: 8px;
  }
  .fto-adm-ui .detail-attendance-summary__icon {
    width: 32px;
    height: 32px;
  }
  .fto-adm-ui .detail-attendance-summary__icon svg {
    width: 16px;
    height: 16px;
  }
  .fto-adm-ui .detail-attendance-summary__label {
    font-size: 13px;
  }
  .fto-adm-ui .detail-attendance-summary__right {
    min-width: 0;
    padding: 11px 18px;
  }
  .fto-adm-ui .detail-attendance-summary__percent {
    font-size: 18px;
  }
}
.fto-adm-ui .detail-attendance-directory .directory__header--tools-only {
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .fto-adm-ui .detail-attendance-table .table-head,
  .fto-adm-ui .detail-attendance-table .fto-directory-row.detail-attendance-row {
    grid-template-columns: 44px minmax(0, 1.1fr) minmax(0, 1.15fr) minmax(0, 0.55fr) minmax(0, 0.75fr) minmax(0, 0.85fr) minmax(0, 0.75fr) minmax(0, 0.75fr) minmax(0, 0.85fr) minmax(72px, 0.65fr);
    min-width: 1050px;
  }
}
.fto-adm-ui .detail-attendance-table .detail-attendance-row__sn {
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .detail-attendance-table .detail-attendance-row__subject {
  font-weight: 600;
  color: #1a2b42;
  white-space: normal;
  word-break: break-word;
}
.fto-adm-ui .detail-attendance-table .fto-directory-row.detail-attendance-row .badge {
  margin-inline: auto;
}
.fto-adm-ui .detail-homework {
  padding: 8px 0 12px;
}
.fto-adm-ui .detail-homework__title {
  font-size: 22px;
  font-weight: 700;
  color: #1a2b42;
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}
.fto-adm-ui .detail-homework__desc {
  font-size: 13px;
  color: #6b7c93;
  max-width: 520px;
  line-height: 1.5;
}
.fto-adm-ui .detail-homework-directory .directory__header--tools-only {
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .fto-adm-ui .detail-homework-table .table-head,
  .fto-adm-ui .detail-homework-table .fto-directory-row.detail-homework-row {
    grid-template-columns: 44px minmax(0, 1.15fr) minmax(0, 0.95fr) minmax(0, 1.05fr) minmax(0, 0.8fr) minmax(0, 0.8fr) minmax(0, 88px) minmax(0, 52px) minmax(120px, 138px);
    min-width: 1100px;
  }
}
.fto-adm-ui .detail-homework-table .detail-homework-row__sn {
  font-weight: 600;
  color: #6b7c93;
}
.fto-adm-ui .detail-homework-table .detail-homework-row__title {
  font-weight: 700;
  color: #1a2b42;
  white-space: normal;
  word-break: break-word;
}
.fto-adm-ui .detail-homework-table .detail-homework-row__score {
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .detail-homework-table .detail-homework-row__dash {
  font-weight: 600;
  color: #6b7c93;
}
.fto-adm-ui .detail-homework-table .detail-homework-row__dash--danger {
  color: #c62828;
}
.fto-adm-ui .detail-homework-table .fto-directory-row.detail-homework-row .badge {
  margin-inline: auto;
}
.fto-adm-ui .detail-homework-table .detail-homework-row__action {
  padding: 9px 16px;
  font-size: 11px;
  white-space: nowrap;
}
.fto-adm-ui .detail-exams {
  padding: 8px 0 12px;
}
.fto-adm-ui .detail-exams__title {
  font-size: 22px;
  font-weight: 700;
  color: #1a2b42;
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}
.fto-adm-ui .detail-exams__desc {
  font-size: 13px;
  color: #6b7c93;
  max-width: 520px;
  line-height: 1.5;
}
.fto-adm-ui .detail-exam-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 1399.98px) {
  .fto-adm-ui .detail-exam-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .detail-exam-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .detail-exam-stats {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .detail-exam-stat {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 16px;
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 24px;
  box-shadow: 0 2px 10px rgba(12, 31, 61, 0.04);
}
@media (max-width: 991.98px) {
  .fto-adm-ui .detail-exam-stat {
    padding: 14px 12px;
    gap: 10px;
  }
}
.fto-adm-ui .detail-exam-stat__icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.fto-adm-ui .detail-exam-stat__icon svg {
  width: 22px;
  height: 22px;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .detail-exam-stat__icon {
    width: 38px;
    height: 38px;
  }
  .fto-adm-ui .detail-exam-stat__icon svg {
    width: 18px;
    height: 18px;
  }
}
.fto-adm-ui .detail-exam-stat__icon--gold {
  background: #fff4d6;
  color: #b8860b;
}
.fto-adm-ui .detail-exam-stat__icon--blue {
  background: #e8f4fc;
  color: #3b82c4;
}
.fto-adm-ui .detail-exam-stat__icon--green {
  background: #e3f5ec;
  color: #22a06b;
}
.fto-adm-ui .detail-exam-stat__icon--red {
  background: #fde8e8;
  color: #c62828;
}
.fto-adm-ui .detail-exam-stat__icon--navy {
  background: rgba(12, 31, 61, 0.08);
  color: #0c1f3d;
}
.fto-adm-ui .detail-exam-stat__icon--teal {
  background: #e0f5f0;
  color: #0d9488;
}
.fto-adm-ui .detail-exam-stat__label {
  font-size: 11px;
  font-weight: 500;
  color: #6b7c93;
  margin-bottom: 4px;
  line-height: 1.3;
}
.fto-adm-ui .detail-exam-stat__value {
  font-size: 22px;
  font-weight: 700;
  color: #1a2b42;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .detail-exam-stat__value {
    font-size: 18px;
  }
}
.fto-adm-ui .detail-exam-stat__value--sm {
  font-size: 14px;
  font-weight: 700;
}
.fto-adm-ui .detail-exams-directory .directory__header--tools-only {
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .fto-adm-ui .detail-exam-table .table-head,
  .fto-adm-ui .detail-exam-table .fto-directory-row.detail-exam-row {
    grid-template-columns: 44px minmax(0, 1.35fr) minmax(0, 0.9fr) minmax(0, 1.05fr) minmax(0, 1.05fr) minmax(0, 0.85fr) minmax(0, 52px) minmax(0, 76px) minmax(64px, 88px);
    min-width: 1080px;
  }
}
.fto-adm-ui .detail-exam-table .detail-exam-row__sn {
  font-weight: 600;
  color: #6b7c93;
}
.fto-adm-ui .detail-exam-table .detail-exam-row__title {
  font-weight: 700;
  color: #1a2b42;
  white-space: normal;
  word-break: break-word;
}
.fto-adm-ui .detail-exam-table .detail-exam-row__score {
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .detail-exam-table .detail-exam-row__score--fail {
  color: #c62828;
}
.fto-adm-ui .detail-exam-table .fto-directory-row.detail-exam-row .badge {
  margin-inline: auto;
}
.fto-adm-ui .detail-exam-table .detail-exam-row__action {
  padding: 8px 18px;
  font-size: 11px;
  white-space: nowrap;
}
.fto-adm-ui .detail-reviews {
  padding: 8px 0 12px;
}
.fto-adm-ui .detail-reviews__title {
  font-size: 22px;
  font-weight: 700;
  color: #1a2b42;
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}
.fto-adm-ui .detail-reviews__desc {
  font-size: 13px;
  color: #6b7c93;
  max-width: 520px;
  line-height: 1.5;
}
.fto-adm-ui .detail-reviews-directory .directory__header--tools-only {
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .fto-adm-ui .detail-review-table .table-head,
  .fto-adm-ui .detail-review-table .fto-directory-row.detail-review-row {
    grid-template-columns: 44px minmax(0, 1.1fr) minmax(0, 1.2fr) minmax(0, 0.85fr) minmax(0, 0.95fr) minmax(0, 88px) minmax(120px, 148px);
    min-width: 900px;
  }
}
.fto-adm-ui .detail-review-table .detail-review-row__sn {
  font-weight: 600;
  color: #6b7c93;
}
.fto-adm-ui .detail-review-table .detail-review-row__type {
  font-weight: 700;
  color: #1a2b42;
  white-space: normal;
  word-break: break-word;
}
.fto-adm-ui .detail-review-table .detail-review-row__dash {
  font-weight: 600;
  color: #6b7c93;
}
.fto-adm-ui .detail-review-table .fto-directory-row.detail-review-row .badge {
  margin-inline: auto;
}
.fto-adm-ui .detail-review-table .detail-review-row__action {
  padding: 9px 16px;
  font-size: 11px;
  white-space: nowrap;
}
.fto-adm-ui .detail-login {
  padding: 8px 0 12px;
}
.fto-adm-ui .detail-login__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .detail-login__head {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
}
.fto-adm-ui .detail-login__title {
  font-size: 22px;
  font-weight: 700;
  color: #1a2b42;
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}
.fto-adm-ui .detail-login__desc {
  font-size: 13px;
  color: #6b7c93;
  max-width: 480px;
  line-height: 1.5;
}
.fto-adm-ui .detail-login__meta {
  font-size: 13px;
  font-weight: 600;
  color: #1a2b42;
  flex-shrink: 0;
  text-align: right;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .detail-login__meta {
    text-align: left;
  }
}
.fto-adm-ui .detail-login__meta-label {
  color: #6b7c93;
  font-weight: 500;
}
.fto-adm-ui .detail-login__meta-count {
  color: #F15B55;
  font-weight: 700;
  margin-left: 4px;
}
.fto-adm-ui .detail-login-directory .directory__header--tools-only {
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .fto-adm-ui .detail-login-table .table-head,
  .fto-adm-ui .detail-login-table .fto-directory-row.detail-login-row {
    grid-template-columns: 52px minmax(0, 1.15fr) minmax(0, 0.75fr) minmax(0, 1.05fr) minmax(0, 1.05fr) minmax(0, 0.95fr) minmax(0, 80px) minmax(120px, 148px);
    min-width: 1100px;
  }
}
.fto-adm-ui .detail-login-table .detail-login-row__head {
  display: contents;
}
.fto-adm-ui .detail-login-table .detail-login-row__device-name {
  text-align: center;
  min-width: 0;
}
.fto-adm-ui .detail-login-table .detail-login-row__device-name strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #1a2b42;
  margin-bottom: 2px;
}
.fto-adm-ui .detail-login-table .detail-login-row__device-sub {
  display: block;
  font-size: 11px;
  font-weight: 500;
  color: #6b7c93;
  margin-bottom: 4px;
}
.fto-adm-ui .detail-login-table .detail-login-row__device-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #f15b55;
  color: #f15b55;
  background: rgba(241, 91, 85, 0.06);
  justify-self: start;
}
.fto-adm-ui .detail-login-table .detail-login-row__device-icon svg {
  width: 20px;
  height: 20px;
}
.fto-adm-ui .detail-login-table .detail-login-row__current {
  display: inline-flex;
  padding: 3px 10px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #6b7c93;
  font-size: 10px;
  font-weight: 600;
}
.fto-adm-ui .detail-login-table .detail-login-row__dash {
  font-weight: 600;
  color: #6b7c93;
}
.fto-adm-ui .detail-login-table .fto-directory-row.detail-login-row .badge {
  margin-inline: auto;
}
.fto-adm-ui .detail-login-table .detail-login-row__action {
  padding: 9px 16px;
  font-size: 11px;
  white-space: nowrap;
}
.fto-adm-ui .fto-program-detail__header-actions {
  flex-shrink: 0;
}
.fto-adm-ui .fto-program-detail__section-title {
  font-size: 22px;
  font-weight: 700;
  color: #1a2b42;
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}
.fto-adm-ui .fto-program-detail__section-desc {
  font-size: 13px;
  color: #6b7c93;
  max-width: 520px;
  line-height: 1.5;
}
.fto-adm-ui .fto-program-detail__workspace {
  min-width: 0;
}
.fto-adm-ui .fto-program-detail .batch-detail-profile {
  border-radius: 24px;
}
.fto-adm-ui .fto-program-detail .program-detail-overview .cgi-tabs {
  margin-bottom: 1.15rem;
}
@media (max-width: 1199.98px) {
  .fto-adm-ui .fto-program-detail .program-overview-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .fto-program-detail .program-overview-stats {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767.98px) {
  .fto-adm-ui .fto-program-detail .batch-detail-profile__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .fto-program-detail .batch-detail-profile__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-program-detail .program-overview-grid {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .fto-batch-detail__header-actions {
  flex-shrink: 0;
}
.fto-adm-ui .fto-batch-detail__section-title {
  font-size: 22px;
  font-weight: 700;
  color: #1a2b42;
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}
.fto-adm-ui .fto-batch-detail__section-desc {
  font-size: 13px;
  color: #6b7c93;
  max-width: 520px;
  line-height: 1.5;
}
.fto-adm-ui .fto-batch-detail__workspace {
  min-width: 0;
}
.fto-adm-ui .fto-batch-detail .batch-detail-profile {
  border-radius: 24px;
}
.fto-adm-ui .fto-batch-detail .batch-detail-overview .cgi-tabs {
  margin-bottom: 1.15rem;
}
@media (max-width: 767.98px) {
  .fto-adm-ui .fto-batch-detail .batch-detail-profile__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .fto-batch-detail .batch-detail-profile__grid {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .fto-classroom-detail__header-actions,
.fto-adm-ui .fto-lesson-plan-detail__header-actions {
  flex-shrink: 0;
}
.fto-adm-ui .fto-classroom-detail__section-title {
  font-size: 22px;
  font-weight: 700;
  color: #1a2b42;
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}
.fto-adm-ui .fto-classroom-detail__section-desc {
  font-size: 13px;
  color: #6b7c93;
  max-width: 520px;
  line-height: 1.5;
}
.fto-adm-ui .fto-classroom-detail__workspace {
  min-width: 0;
}
.fto-adm-ui .fto-classroom-detail .batch-detail-profile {
  border-radius: 24px;
}
.fto-adm-ui .fto-classroom-detail .classroom-detail-overview .cgi-tabs {
  margin-bottom: 1.15rem;
}
@media (max-width: 767.98px) {
  .fto-adm-ui .fto-classroom-detail .batch-detail-profile__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .fto-classroom-detail .batch-detail-profile__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-classroom-detail .classroom-overview-grid {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .detail-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
  width: 100%;
  margin-bottom: 24px;
  border-bottom: 1px solid #e2e8f0;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.fto-adm-ui .detail-tabs__link {
  flex: 0 0 auto;
  border: none;
  background: transparent;
  padding: 12px 16px;
  font-size: 13px;
  font-weight: 500;
  color: #6b7c93;
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.fto-adm-ui .detail-tabs__link:hover {
  color: #1a2b42;
}
.fto-adm-ui .detail-tabs__link--active {
  color: #1f4169;
  font-weight: 700;
  border-bottom-color: #1f4169;
}
.fto-adm-ui .detail-panels {
  min-height: 160px;
}
.fto-adm-ui .detail-panel {
  display: none;
}
.fto-adm-ui .detail-panel--active {
  display: block;
}
.fto-adm-ui .detail-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 160px;
  padding: 24px;
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 16px;
  text-align: center;
}
.fto-adm-ui .detail-placeholder p {
  font-size: 13px;
  color: #6b7c93;
  margin: 0;
}
.fto-adm-ui .detail-overview {
  padding: 8px 0 12px;
}
.fto-adm-ui .detail-overview__section {
  margin-bottom: 32px;
}
.fto-adm-ui .detail-overview__section:last-child {
  margin-bottom: 0;
}
.fto-adm-ui .detail-overview__title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8ba3b8;
  margin-bottom: 18px;
}
.fto-adm-ui .detail-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 24px;
}
@media (max-width: 767.98px) {
  .fto-adm-ui .detail-fields {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .detail-fields--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 991.98px) {
  .fto-adm-ui .detail-fields--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767.98px) {
  .fto-adm-ui .detail-fields--three {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .detail-field {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 24px;
  background: #fff;
  border: 1px solid #e8eef4;
  border-radius: 28px;
  box-shadow: 0 2px 8px rgba(12, 31, 61, 0.04);
  min-height: 52px;
}
.fto-adm-ui .detail-field__label {
  font-size: 13px;
  font-weight: 500;
  color: #6b7c93;
  flex-shrink: 0;
}
.fto-adm-ui .detail-field__value {
  font-size: 13px;
  font-weight: 600;
  color: #1a2b42;
  text-align: right;
  word-break: break-word;
}
.fto-adm-ui .detail-field__value-list {
  list-style: disc;
  padding-left: 1.1rem;
  margin: 0;
  text-align: right;
  color: #1a2b42;
  font-size: 13px;
  font-weight: 600;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .directory__tools {
    width: 100%;
    align-items: flex-end;
  }
  .fto-adm-ui .directory__search {
    flex: 1 1 auto;
    max-width: 100%;
    width: 100%;
    min-width: 0;
  }
  .fto-adm-ui .directory__header,
  .fto-adm-ui .directory__tools,
  .fto-adm-ui .directory__tools-end {
    min-width: 0;
    max-width: 100%;
  }
  .fto-adm-ui .support-feedback-directory .directory__search,
  .fto-adm-ui .coupons-general-directory .directory__search,
  .fto-adm-ui .programs-packages-directory .directory__search,
  .fto-adm-ui .subscription-modules-directory .directory__search,
  .fto-adm-ui .prospective-students-directory .directory__search,
  .fto-adm-ui .batch-detail-tab__tools .directory__search,
  .fto-adm-ui .assessment-detail__toolbar .directory__search,
  .fto-adm-ui .sf-panel-tools .directory__search,
  .fto-adm-ui .program-students__tools .directory__search,
  .fto-adm-ui .program-lesson-plans__tools .directory__search,
  .fto-adm-ui .classroom-assigned .directory__tools .directory__search,
  .fto-adm-ui .general-coupon-detail__log .directory__search,
  .fto-adm-ui .single-use-coupon-detail__log .directory__search,
  .fto-adm-ui .directory__search {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .fto-adm-ui .directory .btn--filter,
  .fto-adm-ui .directory .btn--export,
  .fto-adm-ui .directory .btn-export,
  .fto-adm-ui .directory__filter-select {
    flex: 0 0 auto;
    width: 100%;
  }
  .fto-adm-ui .table-wrap {
    overflow-x: visible;
    max-width: 100%;
  }
  .fto-adm-ui .table-head {
    display: none !important;
  }
  .fto-adm-ui .table-wrap .table-head,
  .fto-adm-ui .fto-admin-scope .table-head,
  .fto-adm-ui .table-wrap .table-body .fto-directory-row,
  .fto-adm-ui .table-wrap .table-body > .student-row,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row {
    min-width: 0;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    grid-template-columns: 1fr;
  }
  .fto-adm-ui .fto-admin-scope .table-head,
  .fto-adm-ui .fto-admin-scope .drafts-table-head,
  .fto-adm-ui .fto-admin-scope .seat-history-table__head {
    display: none !important;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row,
  .fto-adm-ui .table-wrap .table-body > .student-row,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 16px;
    min-width: 0 !important;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row [data-mobile-label],
  .fto-adm-ui .table-wrap .table-body > .student-row [data-mobile-label],
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row [data-mobile-label] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    min-width: 0;
    text-align: right;
    word-break: break-word;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row [data-mobile-label]::before,
  .fto-adm-ui .table-wrap .table-body > .student-row [data-mobile-label]::before,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row [data-mobile-label]::before {
    content: attr(data-mobile-label);
    font-size: 11px;
    font-weight: 600;
    color: #6b7c93;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    flex-shrink: 0;
    text-align: left;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row [data-mobile-label] .badge,
  .fto-adm-ui .table-wrap .table-body .fto-directory-row [data-mobile-label] .fto-badge,
  .fto-adm-ui .table-wrap .table-body .fto-directory-row [data-mobile-label] .fto-status,
  .fto-adm-ui .table-wrap .table-body .fto-directory-row [data-mobile-label] .sd-badge,
  .fto-adm-ui .table-wrap .table-body > .student-row [data-mobile-label] .badge,
  .fto-adm-ui .table-wrap .table-body > .student-row [data-mobile-label] .fto-badge,
  .fto-adm-ui .table-wrap .table-body > .student-row [data-mobile-label] .fto-status,
  .fto-adm-ui .table-wrap .table-body > .student-row [data-mobile-label] .sd-badge,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row [data-mobile-label] .badge,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row [data-mobile-label] .fto-badge,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row [data-mobile-label] .fto-status,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row [data-mobile-label] .sd-badge {
    margin-left: auto;
    margin-inline: 0;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row .prospective-students-row__contact[data-mobile-label],
  .fto-adm-ui .table-wrap .table-body > .student-row .prospective-students-row__contact[data-mobile-label],
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row .prospective-students-row__contact[data-mobile-label] {
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 0.35rem;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row .prospective-students-row__contact[data-mobile-label]::before,
  .fto-adm-ui .table-wrap .table-body > .student-row .prospective-students-row__contact[data-mobile-label]::before,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row .prospective-students-row__contact[data-mobile-label]::before {
    margin-right: auto;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row .prospective-students-row__contact[data-mobile-label] .prospective-students-row__contact-text,
  .fto-adm-ui .table-wrap .table-body > .student-row .prospective-students-row__contact[data-mobile-label] .prospective-students-row__contact-text,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row .prospective-students-row__contact[data-mobile-label] .prospective-students-row__contact-text {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row .prospective-students-row__contact[data-mobile-label] .prospective-students-row__verified,
  .fto-adm-ui .table-wrap .table-body > .student-row .prospective-students-row__contact[data-mobile-label] .prospective-students-row__verified,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row .prospective-students-row__contact[data-mobile-label] .prospective-students-row__verified {
    flex: 0 0 auto;
    margin-left: 0;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row .col-profile,
  .fto-adm-ui .table-wrap .table-body > .student-row .col-profile,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row .col-profile {
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    text-align: left;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row .col-profile::before,
  .fto-adm-ui .table-wrap .table-body > .student-row .col-profile::before,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row .col-profile::before {
    display: none;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row .col-profile .staff-avatar,
  .fto-adm-ui .table-wrap .table-body > .student-row .col-profile .staff-avatar,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row .col-profile .staff-avatar {
    position: relative;
    flex: 0 0 auto !important;
    width: 44px;
    height: 44px;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row .col-profile .staff-avatar__status,
  .fto-adm-ui .table-wrap .table-body > .student-row .col-profile .staff-avatar__status,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row .col-profile .staff-avatar__status {
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row .col-action,
  .fto-adm-ui .table-wrap .table-body > .student-row .col-action,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row .col-action {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 8px;
    padding-top: 0.35rem;
    border-top: 1px solid rgba(12, 31, 61, 0.08);
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row .col-action::before,
  .fto-adm-ui .table-wrap .table-body > .student-row .col-action::before,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row .col-action::before {
    display: none !important;
    content: none !important;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row .col-action .btn--view,
  .fto-adm-ui .table-wrap .table-body .fto-directory-row .col-action .btn,
  .fto-adm-ui .table-wrap .table-body .fto-directory-row .col-action a.btn,
  .fto-adm-ui .table-wrap .table-body > .student-row .col-action .btn--view,
  .fto-adm-ui .table-wrap .table-body > .student-row .col-action .btn,
  .fto-adm-ui .table-wrap .table-body > .student-row .col-action a.btn,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row .col-action .btn--view,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row .col-action .btn,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row .col-action a.btn {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-inline: 0;
    flex-shrink: 0;
    justify-content: center;
    box-sizing: border-box;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row.quotes-row .col-action,
  .fto-adm-ui .table-wrap .table-body > .student-row.quotes-row .col-action,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row.quotes-row .col-action {
    margin-left: -16px;
    margin-right: -16px;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 0.6rem;
    margin-top: 0.25rem;
  }
  .fto-adm-ui .table-wrap .table-body .fto-directory-row .col-seat__value,
  .fto-adm-ui .table-wrap .table-body > .student-row .col-seat__value,
  .fto-adm-ui .table-wrap .table-body > .fto-directory-row .col-seat__value {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    flex-shrink: 0;
  }
  .fto-adm-ui .fto-directory-table .cgi-feedback-ratings-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }
  .fto-adm-ui .fto-directory-table .cgi-feedback-ratings-scroll .cgi-feedback-ratings-scroll__inner {
    width: max-content;
    min-width: 100%;
  }
  .fto-adm-ui .fto-directory-table .cgi-feedback-ratings-scroll .table-wrap {
    overflow-x: visible;
    max-width: none;
  }
  .fto-adm-ui .table-wrap.batch-detail-classes-table {
    overflow-x: visible;
    -webkit-overflow-scrolling: auto;
    max-width: none;
  }
  .fto-adm-ui .batch-detail-classes-table .table-head {
    display: grid;
  }
  .fto-adm-ui .batch-detail-classes-table .table-head,
  .fto-adm-ui .batch-detail-classes-table .table-body .fto-directory-row.batch-detail-classes-row {
    display: grid;
    grid-template-columns: 64px minmax(180px, 1.6fr) minmax(110px, 0.9fr) minmax(130px, 1fr) minmax(80px, 0.7fr) minmax(100px, 0.75fr) 72px;
    min-width: 980px;
    width: 980px;
    max-width: none;
    flex-direction: unset;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    box-sizing: border-box;
  }
  .fto-adm-ui .batch-detail-classes-table .table-head [data-mobile-label],
  .fto-adm-ui .batch-detail-classes-table .table-body .fto-directory-row.batch-detail-classes-row [data-mobile-label] {
    display: block;
    justify-content: unset;
    align-items: unset;
    text-align: inherit;
    word-break: normal;
  }
  .fto-adm-ui .batch-detail-classes-table .table-head [data-mobile-label]::before,
  .fto-adm-ui .batch-detail-classes-table .table-body .fto-directory-row.batch-detail-classes-row [data-mobile-label]::before {
    content: none;
    display: none;
  }
  .fto-adm-ui .batch-detail-classes-table .table-head .col-action,
  .fto-adm-ui .batch-detail-classes-table .table-body .fto-directory-row.batch-detail-classes-row .col-action {
    justify-content: center;
    padding-top: 0;
    border-top: 0;
    margin-left: 0;
    margin-right: 0;
  }
  .fto-adm-ui .batch-detail-classes-table .table-head .col-action::before,
  .fto-adm-ui .batch-detail-classes-table .table-body .fto-directory-row.batch-detail-classes-row .col-action::before {
    content: none;
    display: none;
  }
  .fto-adm-ui .batch-detail-classes-table .table-head .col-action .btn--view,
  .fto-adm-ui .batch-detail-classes-table .table-body .fto-directory-row.batch-detail-classes-row .col-action .btn--view {
    margin-left: 0;
  }
  .fto-adm-ui .table-wrap.batch-detail-attendance-table {
    overflow-x: visible;
    -webkit-overflow-scrolling: auto;
    max-width: none;
  }
  .fto-adm-ui .batch-detail-attendance-table .table-head {
    display: grid;
  }
  .fto-adm-ui .batch-detail-attendance-table .table-head,
  .fto-adm-ui .batch-detail-attendance-table .table-body .fto-directory-row.batch-detail-attendance-row {
    display: grid;
    grid-template-columns: 64px minmax(0, 1.6fr) minmax(0, 1fr) minmax(80px, 0.7fr) minmax(100px, 0.75fr) 72px;
    min-width: 1000px;
    width: 1000px;
    max-width: none;
    flex-direction: unset;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    box-sizing: border-box;
  }
  .fto-adm-ui .batch-detail-attendance-table .table-head [data-mobile-label],
  .fto-adm-ui .batch-detail-attendance-table .table-body .fto-directory-row.batch-detail-attendance-row [data-mobile-label] {
    display: block;
    justify-content: unset;
    align-items: unset;
    text-align: inherit;
    word-break: normal;
  }
  .fto-adm-ui .batch-detail-attendance-table .table-head [data-mobile-label]::before,
  .fto-adm-ui .batch-detail-attendance-table .table-body .fto-directory-row.batch-detail-attendance-row [data-mobile-label]::before {
    content: none;
    display: none;
  }
  .fto-adm-ui .batch-detail-attendance-table .table-head .col-action,
  .fto-adm-ui .batch-detail-attendance-table .table-body .fto-directory-row.batch-detail-attendance-row .col-action {
    justify-content: center;
    padding-top: 0;
    border-top: 0;
    margin-left: 0;
    margin-right: 0;
  }
  .fto-adm-ui .batch-detail-attendance-table .table-head .col-action::before,
  .fto-adm-ui .batch-detail-attendance-table .table-body .fto-directory-row.batch-detail-attendance-row .col-action::before {
    content: none;
    display: none;
  }
  .fto-adm-ui .batch-detail-attendance-table .table-head .col-action .btn--view,
  .fto-adm-ui .batch-detail-attendance-table .table-body .fto-directory-row.batch-detail-attendance-row .col-action .btn--view {
    margin-left: 0;
  }
  .fto-adm-ui .table-wrap.batch-detail-homework-table {
    overflow-x: visible;
    -webkit-overflow-scrolling: auto;
    max-width: none;
  }
  .fto-adm-ui .batch-detail-homework-table .table-head {
    display: grid;
  }
  .fto-adm-ui .batch-detail-homework-table .table-head,
  .fto-adm-ui .batch-detail-homework-table .table-body .fto-directory-row.batch-detail-homework-row {
    display: grid;
    grid-template-columns: minmax(140px, 1.15fr) minmax(100px, 0.8fr) minmax(120px, 1fr) minmax(72px, 0.5fr) minmax(88px, 0.65fr) minmax(88px, 0.65fr) minmax(72px, 0.5fr) minmax(88px, auto);
    min-width: 980px;
    width: 100%;
    max-width: none;
    flex-direction: unset;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    box-sizing: border-box;
  }
  .fto-adm-ui .batch-detail-homework-table .table-head [data-mobile-label],
  .fto-adm-ui .batch-detail-homework-table .table-body .fto-directory-row.batch-detail-homework-row [data-mobile-label] {
    display: block;
    justify-content: unset;
    align-items: unset;
    text-align: inherit;
    word-break: normal;
  }
  .fto-adm-ui .batch-detail-homework-table .table-head [data-mobile-label]::before,
  .fto-adm-ui .batch-detail-homework-table .table-body .fto-directory-row.batch-detail-homework-row [data-mobile-label]::before {
    content: none;
    display: none;
  }
  .fto-adm-ui .batch-detail-homework-table .table-head .col-action,
  .fto-adm-ui .batch-detail-homework-table .table-body .fto-directory-row.batch-detail-homework-row .col-action {
    justify-content: center;
    padding-top: 0;
    border-top: 0;
    margin-left: 0;
    margin-right: 0;
  }
  .fto-adm-ui .batch-detail-homework-table .table-head .col-action::before,
  .fto-adm-ui .batch-detail-homework-table .table-body .fto-directory-row.batch-detail-homework-row .col-action::before {
    content: none;
    display: none;
  }
  .fto-adm-ui .batch-detail-homework-table .table-head .col-action .btn--view,
  .fto-adm-ui .batch-detail-homework-table .table-body .fto-directory-row.batch-detail-homework-row .col-action .btn--view {
    margin-left: 0;
  }
  .fto-adm-ui .list-pagination {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 12px;
  }
  .fto-adm-ui .list-pagination__summary, .fto-adm-ui .list-pagination__size {
    justify-self: center;
  }
  .fto-adm-ui .list-pagination__controls {
    justify-content: center;
  }
  .fto-adm-ui .list-pagination__size {
    justify-content: center;
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .stats,
  .fto-adm-ui .stats--students {
    gap: 10px;
    margin-bottom: 16px;
  }
  .fto-adm-ui .stat-card {
    padding: 12px 14px;
    gap: 12px;
    border-radius: 18px;
  }
  .fto-adm-ui .stat-card__icon {
    width: 40px;
    height: 40px;
  }
  .fto-adm-ui .stat-card__icon svg {
    width: 20px;
    height: 20px;
  }
  .fto-adm-ui .stat-card__value {
    font-size: 22px;
  }
  .fto-adm-ui .stat-card__label {
    margin-bottom: 2px;
  }
  .fto-adm-ui .stat-card__sub {
    margin-top: 4px;
  }
  .fto-adm-ui .page-header {
    margin-bottom: 16px;
  }
  .fto-adm-ui .directory {
    padding: 12px;
    border-radius: 18px;
  }
  .fto-adm-ui .directory__header {
    margin-bottom: 10px;
    gap: 10px;
  }
  .fto-adm-ui .directory__tools {
    gap: 8px;
  }
  .fto-adm-ui .directory__search {
    padding: 0 12px;
    height: 42px;
    min-height: 42px;
  }
  .fto-adm-ui .directory__tools .table-head__filter,
  .fto-adm-ui .directory__filter-select {
    height: 42px;
    min-height: 42px;
  }
  .fto-adm-ui .directory .btn--filter,
  .fto-adm-ui .directory .btn--export {
    padding: 8px 14px;
    min-height: 42px;
    box-sizing: border-box;
  }
  .fto-adm-ui .student-row .col-action .btn--view {
    width: 100%;
    justify-content: center;
  }
}

@media (min-width: 992px) {
  body.fto-detail-page .fto-adm-ui .table-head > span,
  body.fto-detail-page .fto-adm-ui .table-head > span:first-child,
  body.fto-detail-page .fto-adm-ui .table-head > span:not(:first-child) {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  body.fto-detail-page .fto-adm-ui .table-head > span .sa-directory-sort-btn,
  body.fto-detail-page .fto-adm-ui .table-head > span:first-child .sa-directory-sort-btn,
  body.fto-detail-page .fto-adm-ui .table-head > span:not(:first-child) .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  body.fto-detail-page .fto-adm-ui .table-head > span .table-head__label,
  body.fto-detail-page .fto-adm-ui .table-head > span:first-child .table-head__label,
  body.fto-detail-page .fto-adm-ui .table-head > span:not(:first-child) .table-head__label {
    justify-content: flex-start;
  }
  body.fto-detail-page .fto-adm-ui .table-head > span .table-head__filter,
  body.fto-detail-page .fto-adm-ui .table-head > span:first-child .table-head__filter,
  body.fto-detail-page .fto-adm-ui .table-head > span:not(:first-child) .table-head__filter {
    text-align: left;
  }
  body.fto-detail-page .fto-adm-ui .table-head > span:not(:first-child) .sa-directory-sort-btn {
    justify-content: flex-start;
  }
  body.fto-detail-page .fto-adm-ui .student-row > *,
  body.fto-detail-page .fto-adm-ui .student-row > *:not(:first-child),
  body.fto-detail-page .fto-adm-ui .fto-directory-row > *,
  body.fto-detail-page .fto-adm-ui .fto-directory-row > *:not(:first-child) {
    justify-self: start !important;
    text-align: left !important;
  }
  body.fto-detail-page .fto-adm-ui .col-action,
  body.fto-detail-page .fto-adm-ui .fto-detail-attendance-students-table .col-profile,
  body.fto-detail-page .fto-adm-ui .fto-detail-attendance-instructors-table .col-profile,
  body.fto-detail-page .fto-adm-ui .fto-detail-assessment-homework-row .col-action,
  body.fto-detail-page .fto-adm-ui .fto-detail-payment-row .col-action {
    justify-content: flex-start;
  }
  body.fto-detail-page .fto-adm-ui .badge,
  body.fto-detail-page .fto-adm-ui .fto-badge,
  body.fto-detail-page .fto-adm-ui .fto-status,
  body.fto-detail-page .fto-adm-ui .fto-payment-badge {
    margin-inline: 0;
  }
}

body[data-nav-mode=core] [data-student-col=sl],
body[data-nav-mode=core] [data-student-col=batch],
body[data-nav-mode=core] [data-student-col=review],
body[data-nav-mode=core] [data-student-col=certificate],
body[data-nav-mode=core] [data-student-filter=fto-only],
body[data-nav-mode=core] [data-student-filter=fto-pro-only] {
  display: none !important;
}
body[data-nav-mode=core] .col-profile__batch {
  display: none !important;
}

body[data-nav-mode=core] .detail-metrics .detail-metrics-phase-panel[data-metrics-phase-panel=self] {
  display: block !important;
}

body[data-nav-mode=fto] .content--details:not([data-student-package-type=pro]) .detail-metrics .detail-metrics-phase-panel[data-metrics-phase-panel=self] {
  display: block !important;
}

body[data-nav-mode=fto] .content--details[data-student-package-type=pro] .detail-metrics-phase-tabs {
  display: inline-flex !important;
}

body[data-nav-mode=fto] .content--details[data-student-package-type=pro] .detail-metrics[data-metrics-phase=pro] .detail-metrics-phase-panel[data-metrics-phase-panel=pro] {
  display: block !important;
}

body[data-nav-mode=fto] .content--details[data-student-package-type=pro] .detail-metrics[data-metrics-phase=self] .detail-metrics-phase-panel[data-metrics-phase-panel=self] {
  display: block !important;
}

body[data-nav-mode=core] .detail-metrics .detail-metrics-tables.detail-metrics-phase-panel[data-metrics-phase-panel=self],
body[data-nav-mode=fto] .content--details:not([data-student-package-type=pro]) .detail-metrics .detail-metrics-tables.detail-metrics-phase-panel[data-metrics-phase-panel=self],
body[data-nav-mode=fto] .content--details[data-student-package-type=pro] .detail-metrics[data-metrics-phase=self] .detail-metrics-tables.detail-metrics-phase-panel[data-metrics-phase-panel=self],
body[data-nav-mode=fto] .content--details[data-student-package-type=pro] .detail-metrics[data-metrics-phase=pro] .detail-metrics-tables.detail-metrics-phase-panel[data-metrics-phase-panel=pro] {
  display: grid !important;
}

body[data-nav-mode=fto] .content--details[data-student-package-type=pro] [data-student-filter=fto-only] {
  display: none !important;
}

body[data-nav-mode=fto] .content--details:not([data-student-package-type=pro]) [data-student-filter=fto-pro-only] {
  display: none !important;
}

body:not([data-nav-mode=core]) [data-student-filter=core-only],
body:not([data-nav-mode=core]) [data-student-col=module],
body:not([data-nav-mode=core]) [data-student-col=status],
body:not([data-nav-mode=core]) [data-student-col=sl],
body:not([data-nav-mode=core]) .students-table .col-sn {
  display: none !important;
}

body[data-app-section=fto] [data-student-filter=external-only],
body[data-nav-mode=fto] [data-student-filter=external-only] {
  display: none !important;
}

.fto-admin-scope .cgi-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(12, 31, 61, 0.55);
  backdrop-filter: blur(4px);
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
.fto-admin-scope .cgi-modal-overlay.is-visible {
  display: flex;
}
.fto-admin-scope .qb-upload-modal {
  width: 100%;
  max-width: 520px;
  background: #ffffff;
  border-radius: 32px;
  box-shadow: 0 0 21.4px rgba(0, 0, 0, 0.08);
  padding: 1.75rem 1.5rem 1.5rem;
}
.fto-admin-scope .qb-upload-modal__head {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-bottom: 1.25rem;
}
.fto-admin-scope .qb-upload-modal__title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: #1a2b42;
  text-align: center;
}
.fto-admin-scope .qb-upload-modal__template {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 1.25rem;
  padding: 0.6rem 1.15rem;
  border-radius: 12px;
  border: 1px solid rgba(12, 31, 61, 0.16);
  background: #eef4ff;
  color: #0c1f3d;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.fto-admin-scope .qb-upload-modal__template i {
  font-size: 1.05rem;
  line-height: 1;
  flex-shrink: 0;
}
.fto-admin-scope .qb-upload-modal__template:hover, .fto-admin-scope .qb-upload-modal__template:focus-visible {
  background: #dde9ff;
  color: #0c1f3d;
  border-color: rgba(12, 31, 61, 0.28);
}
.fto-admin-scope .qb-upload-modal__drop.resource-upload {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  text-align: left;
  padding: 1.1rem 1.25rem;
  margin-bottom: 1.5rem;
  border: 2px dashed #d8dee8;
  border-radius: 16px;
  background: #fafbfd;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}
.fto-admin-scope .qb-upload-modal__drop.resource-upload:hover, .fto-admin-scope .qb-upload-modal__drop.resource-upload.resource-upload--filled {
  border-color: #4f7cff;
  background: #f4f7ff;
}
.fto-admin-scope .qb-upload-modal__drop.resource-upload input[type=file] {
  display: none;
}
.fto-admin-scope .qb-upload-modal__drop-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #eef2f6;
  color: #3d4f66;
  flex-shrink: 0;
}
.fto-admin-scope .qb-upload-modal__drop-icon svg {
  width: 22px;
  height: 22px;
}
.fto-admin-scope .qb-upload-modal__drop-text {
  margin: 0;
  font-size: 14px;
  color: #3d4f66;
  line-height: 1.45;
}
.fto-admin-scope .qb-upload-modal__browse {
  border: none;
  background: none;
  padding: 0;
  font: inherit;
  color: #4f7cff;
  cursor: pointer;
  text-decoration: underline;
}
.fto-admin-scope .qb-upload-modal__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.fto-admin-scope .qb-upload-modal__actions .btn--lg {
  min-width: 120px;
  border-radius: 999px;
}
.fto-admin-scope .cgi-modal {
  width: 100%;
  max-width: 420px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 16px 48px rgba(12, 31, 61, 0.2);
  padding: 1.75rem 1.5rem 1.5rem;
  text-align: center;
}
.fto-admin-scope .cgi-modal__title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1a2b42;
}
.fto-admin-scope .cgi-modal__divider {
  height: 1px;
  background: #d5dee8;
  margin: 1rem 0;
  border: none;
}
.fto-admin-scope .cgi-modal__message {
  margin: 0 0 1.5rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #6b7c93;
}
.fto-admin-scope .cgi-modal__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}
.fto-admin-scope .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.fto-admin-scope .btn svg {
  width: 16px;
  height: 16px;
}
.fto-admin-scope .btn--lg {
  padding: 14px 32px;
  font-size: 14px;
  border-radius: 999px;
}
.fto-admin-scope .btn--primary {
  background: #f15b55;
  color: #fff;
  padding: 12px 22px;
  border-radius: 999px;
  font-size: 13px;
}
.fto-admin-scope .btn--primary:hover {
  color: #fff;
  opacity: 0.92;
}
.fto-admin-scope .btn--modal-cancel {
  background: transparent;
  color: #f15b55;
  border: 1.5px solid #f15b55;
  padding: 12px 28px;
  border-radius: 999px;
}
.fto-admin-scope .btn--modal-cancel:hover {
  background: rgba(241, 91, 85, 0.06);
  opacity: 1;
}
.fto-admin-scope .btn--modal-activate {
  background: #22a06b;
  color: #fff;
  padding: 12px 28px;
  border-radius: 999px;
}
.fto-admin-scope .btn--modal-activate:hover {
  background: #1d8f5c;
  opacity: 1;
}
.fto-admin-scope .form-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.fto-admin-scope .form-row--1 {
  grid-template-columns: 1fr;
}
.fto-admin-scope .form-row--2 {
  grid-template-columns: repeat(2, 1fr);
}
.fto-admin-scope .form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 0;
}
.fto-admin-scope .form-field label {
  font-size: 0.78rem;
  font-weight: 600;
  color: #1a2b42;
}
.fto-admin-scope .form-field__control {
  position: relative;
  display: flex;
  align-items: center;
}
.fto-admin-scope .form-field__control select {
  width: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 12px 40px 12px 16px;
  font-family: inherit;
  font-size: 0.82rem;
  color: #1a2b42;
  background: #fff;
  appearance: none;
}
.fto-admin-scope .form-field__control--select {
  width: 100%;
}
.fto-admin-scope .form-field__control--select .form-field__chevron {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  color: #6b7c93;
  pointer-events: none;
  flex-shrink: 0;
}
.fto-admin-scope .student-filter-modal {
  width: 100%;
  max-width: 660px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 16px 48px rgba(12, 31, 61, 0.22);
  padding: 1.5rem 1.65rem 1.45rem;
  text-align: left;
}
.fto-admin-scope .student-filter-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.fto-admin-scope .student-filter-modal__title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1a2b42;
}
.fto-admin-scope .student-filter-modal__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: #f1f5f9;
  color: #6b7c93;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s;
}
.fto-admin-scope .student-filter-modal__close svg {
  width: 18px;
  height: 18px;
}
.fto-admin-scope .student-filter-modal__close:hover {
  background: #e2e8f0;
  color: #1a2b42;
}
.fto-admin-scope .student-filter-modal__form {
  overflow: visible;
}
.fto-admin-scope .student-filter-modal__form .form-row {
  gap: 14px 16px;
  margin-bottom: 0;
  overflow: visible;
}
.fto-admin-scope .student-filter-modal__form [data-reports-filter-field][hidden] {
  display: none !important;
}
.fto-admin-scope .student-filter-modal__form .form-field {
  margin-bottom: 0;
  overflow: visible;
}
.fto-admin-scope .student-filter-modal__form .filter-multi-dropdown .form-field__control {
  display: block;
  width: 100%;
}
.fto-admin-scope .student-filter-modal__form .form-field__control--select {
  display: block;
  width: 100%;
}
.fto-admin-scope .student-filter-modal__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 1.35rem;
  padding-top: 1.15rem;
  border-top: 1px solid #d5dee8;
}
.fto-admin-scope .student-filter-modal__actions .btn--lg {
  min-width: 130px;
  padding: 12px 24px;
}
.fto-admin-scope .filter-multi-dropdown {
  position: relative;
}
.fto-admin-scope .filter-multi-dropdown.is-open {
  z-index: 40;
}
.fto-admin-scope .filter-multi-dropdown__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 12px 16px;
  font-family: inherit;
  font-size: 0.82rem;
  color: #1a2b42;
  background: #fff;
  text-align: left;
  cursor: pointer;
  outline: none;
  transition: border-color 0.15s;
}
.fto-admin-scope .filter-multi-dropdown__toggle:focus, .filter-multi-dropdown.is-open .fto-admin-scope .filter-multi-dropdown__toggle {
  border-color: rgba(12, 31, 61, 0.35);
}
.fto-admin-scope .filter-multi-dropdown__label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #6b7c93;
}
.fto-admin-scope .filter-multi-dropdown--active .fto-admin-scope .filter-multi-dropdown__label {
  color: #1a2b42;
}
.fto-admin-scope .filter-multi-dropdown__chevron {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: #6b7c93;
  transition: transform 0.15s;
}
.fto-admin-scope .filter-multi-dropdown.is-open .fto-admin-scope .filter-multi-dropdown__chevron {
  transform: rotate(180deg);
}
.fto-admin-scope .filter-multi-dropdown__menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 50;
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: 220px;
  overflow: auto;
  padding: 8px;
  border: 1px solid #d5dee8;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(12, 31, 61, 0.14);
}
.fto-admin-scope .filter-multi-dropdown__menu[hidden] {
  display: none !important;
}
.fto-admin-scope .filter-multi-dropdown__option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 500;
  color: #1a2b42;
  cursor: pointer;
  transition: background 0.12s;
}
.fto-admin-scope .filter-multi-dropdown__option:hover {
  background: #f8fafc;
}
.fto-admin-scope .filter-multi-dropdown__option input {
  width: 16px;
  height: 16px;
  accent-color: #f15b55;
  flex-shrink: 0;
  pointer-events: auto;
}
.fto-admin-scope .student-export-modal {
  position: relative;
  width: min(100%, 480px);
  background: #fff;
  border-radius: 32px;
  padding: 24px 24px 20px;
  box-shadow: 0 16px 48px rgba(12, 31, 61, 0.18);
  overflow: visible;
}
@media (max-width: 575.98px) {
  .fto-admin-scope .student-export-modal {
    border-radius: 28px;
    padding: 20px 18px 18px;
  }
}
.fto-admin-scope .student-export-modal__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 10px;
  text-align: center;
}
.fto-admin-scope .student-export-modal__title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: #1a2b42;
  text-align: center;
}
.fto-admin-scope .student-export-modal__close {
  position: absolute;
  top: -7px;
  right: -7px;
  z-index: 1060;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1.5px solid #fff !important;
  border-radius: 50%;
  background: #000 !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  opacity: 1 !important;
  transition: opacity 0.2s ease;
}
.fto-admin-scope .student-export-modal__close i {
  color: #fff !important;
  font-size: 1.1rem;
  line-height: 1;
  opacity: 1 !important;
}
.fto-admin-scope .student-export-modal__close svg {
  width: 16px;
  height: 16px;
}
.fto-admin-scope .student-export-modal__close:hover {
  opacity: 0.9 !important;
  background: #000 !important;
  color: #fff !important;
}
.fto-admin-scope .student-export-modal__desc, .fto-admin-scope .student-export-modal__count {
  margin: 0 0 8px;
  font-size: 12px;
  color: #6b7c93;
  line-height: 1.5;
  text-align: center;
}
.fto-admin-scope .student-export-modal__count {
  font-weight: 600;
  color: #1a2b42;
}
.fto-admin-scope .student-export-modal__error {
  margin: 0 0 12px;
  font-size: 12px;
  font-weight: 600;
  color: #c62828;
  text-align: center;
}
.fto-admin-scope .student-export-modal__error[hidden] {
  display: none;
}
.fto-admin-scope .student-export-modal__formats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 16px 0 0;
}
.fto-admin-scope .student-export-modal__format {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 14px 10px;
  border: 1px solid #eef2f6;
  border-radius: 16px;
  background: #fff;
  font-size: 12px;
  font-weight: 600;
  color: #1a2b42;
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.fto-admin-scope .student-export-modal__format:hover {
  border-color: #c5d4e8;
  box-shadow: 0 4px 14px rgba(12, 31, 61, 0.06);
}
.fto-admin-scope .student-export-modal__format-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
}
.fto-admin-scope .student-export-modal__format-icon--csv {
  background: #eef4ff;
  color: #0c1f3d;
}
.fto-admin-scope .student-export-modal__format-icon--pdf {
  background: #fdeeee;
  color: #c62828;
}
.fto-admin-scope .student-export-modal__format-icon--xml {
  background: #f3eefc;
  color: #5e35b1;
}
.fto-admin-scope .student-export-modal__actions {
  display: flex;
  justify-content: center;
}
@media (max-width: 575px) {
  .fto-admin-scope .student-filter-modal {
    padding: 1.25rem 1.15rem 1.15rem;
  }
  .fto-admin-scope .student-filter-modal__form .form-row--2 {
    grid-template-columns: 1fr;
  }
  .fto-admin-scope .student-filter-modal__actions {
    flex-direction: column-reverse;
    align-items: stretch;
  }
  .fto-admin-scope .student-filter-modal__actions .btn--lg {
    width: 100%;
    min-width: 0;
  }
}

.fto-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 600;
  white-space: nowrap;
}
.fto-pill--success {
  background: rgba(34, 197, 94, 0.12);
  color: #22c55e;
}
.fto-pill--warning {
  background: rgba(251, 191, 36, 0.22);
  color: #c2410c;
}
.fto-pill--info {
  background: rgba(59, 130, 246, 0.14);
  color: #2563eb;
}
.fto-pill--danger {
  background: rgba(239, 68, 68, 0.14);
  color: #dc2626;
}

.btn--back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  color: #1a2b42;
  border: 1px solid #e2e8f0;
  padding: 10px 20px;
  margin-bottom: 20px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 999px;
  cursor: pointer;
}
.btn--back svg {
  width: 16px;
  height: 16px;
}
.btn--back:hover {
  border-color: #cbd5e1;
  color: #1a2b42;
}

.dash-back .btn--back {
  margin-bottom: 0;
}

.content--details {
  padding-top: 24px;
}

.page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.page-header h1 {
  font-size: 26px;
  font-weight: 700;
  color: #1a2b42;
  margin-bottom: 6px;
  letter-spacing: -0.02em;
}
.page-header p {
  font-size: 13px;
  color: #6b7c93;
  margin-bottom: 0;
  text-transform: none;
}
.page-header__actions {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}
.page-header__actions .btn--primary,
.page-header__actions .btn--secondary,
.page-header__actions .btn-export,
.page-header__actions .cgi-details-btn,
.page-header__actions .staff-btn--add {
  height: 40px;
  min-height: 40px;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  box-sizing: border-box;
  line-height: 1.2;
  font-size: 0.8125rem;
  font-weight: 600;
}

.staff-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.staff-stat-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  border-radius: 16px;
  min-height: 100px;
}
.staff-stat-card--primary {
  background: linear-gradient(135deg, #0c1f3d 0%, #1a3352 100%);
  color: #ffffff;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
}
.staff-stat-card--primary .staff-stat-card__icon {
  background: rgba(59, 130, 196, 0.95);
  padding: 0.65rem;
}
.staff-stat-card--primary .staff-stat-card__icon img {
  filter: brightness(0) invert(1);
}
.staff-stat-card--light {
  background: #dde7f2;
  color: #1a2b42;
}
.staff-stat-card--light .staff-stat-card__label {
  color: #6b7c93;
}
.staff-stat-card--light .staff-stat-card__icon {
  background: rgba(255, 255, 255, 0.65);
  padding: 0.6rem;
}
.staff-stat-card__value {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.1;
}
.staff-stat-card__label {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.8rem;
  font-weight: 500;
  opacity: 0.92;
}
.staff-stat-card__icon {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.staff-stat-card__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.staff-panel {
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
  padding: 1.25rem 1.35rem 1.35rem;
  margin-bottom: 1.25rem;
}
.staff-panel__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.15rem;
}
.staff-panel__title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1a2b42;
}
.staff-panel__desc {
  margin: 0.3rem 0 0;
  font-size: 0.8rem;
  color: #6b7c93;
  max-width: 420px;
}
.staff-panel__actions {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.staff-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 1rem;
  border: none;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s, background 0.2s;
  white-space: nowrap;
  text-decoration: none;
}
.staff-btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.staff-btn--secondary {
  background: #dde7f2;
  color: #1a2b42;
}
.staff-btn--secondary:hover {
  background: #d0dce8;
}
.staff-btn--view {
  background: #1a2b42;
  color: #ffffff;
  padding: 0.45rem 1.1rem;
  font-size: 0.78rem;
}
.staff-btn--view:hover {
  background: #0c1f3d;
  color: #ffffff;
}

.staff-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.staff-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8rem;
  min-width: 720px;
}
.staff-table thead th {
  text-align: left;
  padding: 0.65rem 0.75rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border-bottom: 1px solid #d5dee8;
  white-space: nowrap;
}
.staff-table tbody td {
  padding: 0.85rem 0.75rem;
  vertical-align: middle;
  color: #1a2b42;
  border-bottom: 1px solid #edf1f5;
}
.staff-table tbody tr:last-child td {
  border-bottom: none;
}
.staff-table tbody tr:hover td {
  background: #f8fafc;
}

.staff-avatar {
  position: relative;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  flex-shrink: 0;
}
.staff-avatar img {
  display: block;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #ffffff;
  box-shadow: 0 2px 8px rgba(13, 27, 46, 0.12);
}
.staff-avatar__status {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 12px;
  height: 12px;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  background: #22a06b;
  border: 2px solid #ffffff;
  border-radius: 50%;
  pointer-events: none;
}

.staff-name-cell__name {
  display: block;
  font-weight: 600;
  font-size: 0.85rem;
  color: #1a2b42;
}

.staff-name-cell__id {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.72rem;
  color: #8a9bb0;
}

.staff-badge {
  display: inline-block;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
}
.staff-badge--valid {
  background: #e3f5ec;
  color: #22a06b;
}
.staff-badge--expiring {
  background: #fff4d6;
  color: #b8860b;
}
.staff-badge--expired {
  background: #fde8e8;
  color: #c62828;
}

@media (max-width: 1199px) {
  .staff-stats {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767.98px) {
  .staff-table-wrap {
    overflow-x: visible;
    -webkit-overflow-scrolling: touch;
  }
  .staff-table {
    min-width: 0;
  }
  .staff-table thead {
    display: none;
  }
  .staff-table tbody tr {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    margin-bottom: 10px;
    background: #ffffff;
    border: 1px solid #eef2f6;
    border-radius: 16px;
    box-shadow: 0 2px 8px rgba(12, 31, 61, 0.04);
  }
  .staff-table tbody td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 0;
    border: none;
    text-align: right;
  }
  .staff-table tbody td::before {
    content: attr(data-label);
    font-size: 11px;
    font-weight: 600;
    color: #6b7c93;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    flex-shrink: 0;
    text-align: left;
  }
  .staff-table tbody td[data-label=Profile] {
    padding-bottom: 8px;
    border-bottom: 1px solid #eef2f6;
  }
  .staff-table tbody td[data-label=Action] {
    justify-content: flex-end;
    padding-top: 4px;
  }
  .staff-table tbody td[data-label=Action] .staff-btn--view {
    width: 100%;
    justify-content: center;
  }
  .staff-panel__header {
    flex-direction: column;
  }
  .staff-panel__actions {
    width: 100%;
    flex-direction: column;
  }
  .staff-panel__actions .staff-btn {
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 575px) {
  .staff-stats {
    grid-template-columns: 1fr;
  }
  .staff-panel {
    padding: 1rem;
  }
  .staff-panel__actions {
    width: 100%;
  }
  .staff-panel__actions .staff-btn {
    flex: 1;
    justify-content: center;
  }
}
.cgi-details__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}

.cgi-details__title-wrap {
  flex: 1;
  min-width: 220px;
}

.cgi-details__title-wrap h1 {
  font-size: 26px;
  font-weight: 700;
  color: #1a2b42;
  margin-bottom: 6px;
  letter-spacing: -0.02em;
}

.cgi-details__title-wrap p {
  font-size: 13px;
  color: #6b7c93;
  max-width: 480px;
}

.cgi-details__actions {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}
.cgi-details__actions .cgi-details-btn,
.cgi-details__actions .btn-export {
  height: 40px;
  min-height: 40px;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  box-sizing: border-box;
  line-height: 1.2;
  font-size: 0.8125rem;
  font-weight: 600;
}

.cgi-details__cards {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 1rem;
  margin-bottom: 1.35rem;
}

.cgi-details-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 1rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s;
}

.cgi-details-btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.cgi-details-btn--danger {
  background: #F15B55;
  color: #ffffff;
  border: 1px solid #F15B55;
}

.cgi-details-btn--danger:hover {
  background: #d32f3c;
}

.cgi-details-btn--outline-danger {
  background: #ffffff;
  color: #F15B55;
  border: 1px solid rgba(230, 57, 70, 0.45);
}

.cgi-details-btn--outline-danger:hover {
  background: #fde8e8;
}

.cgi-details-btn--outline-sky {
  background: #ffffff;
  color: #1a2b42;
  border: 1px solid #d5dee8;
}

.cgi-details-btn--outline-sky:hover {
  background: #eaf4fb;
  border-color: #b8c5d4;
}

.cgi-details-btn--trigger {
  background: #f15b50;
  color: #ffffff;
  border: 1px solid #f15b50;
}

.cgi-details-btn--trigger:hover {
  background: #e04a3f;
  border-color: #e04a3f;
}

.cgi-profile-card {
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
  padding: 1.25rem 1.35rem 1.35rem;
}

.cgi-profile-card__head {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1.15rem;
  margin-bottom: 1.15rem;
  border-bottom: 1px solid #edf1f5;
}

.cgi-profile-card__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid #ffffff;
  box-shadow: 0 2px 10px rgba(12, 31, 61, 0.12);
}

.cgi-profile-card__identity {
  flex: 1;
  min-width: 0;
}

.cgi-profile-card__name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #1a2b42;
}

.cgi-profile-card__id {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.78rem;
  color: #8a9bb0;
}

.cgi-profile-card__status {
  flex-shrink: 0;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  background: #e3f5ec;
  color: #22a06b;
}

.cgi-profile-card__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem 1rem;
}

.cgi-info-field {
  padding: 0.75rem 1rem;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 12px;
  min-height: 58px;
}

.cgi-info-field__label {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
  margin-bottom: 0.25rem;
}

.cgi-info-field__value {
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  color: #1a2b42;
  word-break: break-word;
}

.cgi-metrics-card {
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
  padding: 1.25rem 1.35rem 1.35rem;
}

.cgi-metrics-card__title {
  margin: 0 0 1rem;
  font-size: 1rem;
  font-weight: 700;
  color: #1a2b42;
}

.cgi-metrics-card__list {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.cgi-metric {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 12px;
}

.cgi-metric__icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.cgi-metric__icon svg {
  width: 20px;
  height: 20px;
}

.cgi-metric__icon--green {
  background: #e3f5ec;
  color: #22a06b;
}

.cgi-metric__icon--blue {
  background: #eaf4fb;
  color: #3b82c4;
}

.cgi-metric__icon--red {
  background: #fde8e8;
  color: #c62828;
}

.cgi-metric__body {
  flex: 1;
  min-width: 0;
}

.cgi-metric__label {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: #1a2b42;
  margin-bottom: 0.35rem;
}

.cgi-metric__value {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2b42;
}

.cgi-metric__bar {
  height: 6px;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
  margin-top: 0.35rem;
}

.cgi-metric__bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #22a06b;
}

.cgi-metric__rating {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.cgi-metric__rating svg {
  width: 16px;
  height: 16px;
  color: #f5a623;
}

.cgi-tabs {
  border-bottom: 1px solid #d5dee8;
  margin-bottom: 1.35rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.cgi-tabs__list {
  display: flex;
  gap: 0.25rem;
  min-width: max-content;
  padding-bottom: 0;
}

.cgi-tabs__btn {
  padding: 0.75rem 1rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #6b7c93;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.15s, border-color 0.15s;
}

.cgi-tabs__btn:hover {
  color: #1a2b42;
}

.cgi-tabs__btn--active {
  color: #1a2b42;
  border-bottom-color: #0c1f3d;
}

.cgi-tab-panel {
  display: none;
}

.cgi-tab-panel--active {
  display: block;
}

.cgi-overview-section {
  margin-bottom: 1.5rem;
}

.cgi-overview-section__title {
  margin: 0 0 0.85rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6b7c93;
}

.cgi-overview-section__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem 1rem;
}

.cgi-overview-field {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1.15rem;
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 999px;
  min-height: 52px;
}

.cgi-overview-field__label {
  font-size: 0.8rem;
  font-weight: 500;
  color: #6b7c93;
  flex-shrink: 0;
}

.cgi-overview-field__value {
  font-size: 0.8rem;
  font-weight: 600;
  color: #1a2b42;
  text-align: right;
  word-break: break-word;
}

.cgi-cert-tab__head {
  margin-bottom: 1.35rem;
}

.cgi-cert-tab__title {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: #1f4169;
  letter-spacing: -0.02em;
}

.cgi-cert-tab__desc {
  margin: 0;
  font-size: 0.82rem;
  color: #6b7c93;
}

.cgi-cert-tab__hint {
  margin: 0.45rem 0 0;
  font-size: 0.72rem;
  font-weight: 500;
  color: #F15B55;
}

.cgi-cert-tab .cgi-cert-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.1rem;
}

.cgi-cert-tab .cgi-cert-card {
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 14px;
  padding: 1.1rem 1.15rem 1.15rem;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
}

.cgi-cert-tab .cgi-cert-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.cgi-cert-tab .cgi-cert-card__title-wrap {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.cgi-cert-tab .cgi-cert-card__icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  color: #8a9bb0;
}
.cgi-cert-tab .cgi-cert-card__icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.cgi-cert-tab .cgi-cert-card__status {
  flex-shrink: 0;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 600;
}

.cgi-cert-tab .cgi-cert-card__fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem 1rem;
  margin-bottom: 0.85rem;
}

.cgi-cert-tab .cgi-cert-card__fields .form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cgi-cert-tab .cgi-cert-card__fields .form-field__control {
  position: relative;
  display: flex;
  align-items: center;
}
.cgi-cert-tab .cgi-cert-card__fields .form-field__control input {
  width: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 14px 18px;
  font-family: inherit;
  font-size: 13px;
  color: #1a2b42;
  background: #ffffff;
  outline: none;
}

.cgi-cert-tab .cgi-cert-card__title {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 600;
  color: #1a2b42;
}

.cgi-cert-tab .cgi-cert-card__status--expiring {
  background: #fff0e0;
  color: #d97706;
}

.cgi-cert-tab .cgi-cert-card__status--expired {
  background: #fde8e8;
  color: #F15B55;
}

.cgi-cert-tab .cgi-cert-card__fields .form-field label {
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
}

.cgi-cert-tab .cgi-cert-card__fields .form-field__control input[readonly] {
  background: #f8fafc;
  cursor: default;
}

.cgi-cert-tab .cgi-cert-card__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-top: 0.85rem;
}

.cgi-cert-expiry input[readonly] {
  padding-right: 44px;
}

.cgi-cert-expiry__icon {
  position: absolute;
  right: 14px;
  width: 18px;
  height: 18px;
  color: #6b7c93;
  pointer-events: none;
}

.cgi-cert-expiry--warning input[readonly] {
  color: #d97706;
  font-weight: 600;
}

.cgi-cert-expiry--danger input[readonly] {
  color: #F15B55;
  font-weight: 600;
}

.cgi-cert-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.5rem 0.95rem;
  border: none;
  border-radius: 999px;
  background: #0c1f3d;
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}

.cgi-cert-action-btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.cgi-cert-action-btn:hover {
  background: #1a3352;
}

.cgi-batches-tab__head,
.cgi-availability-tab__head,
.cgi-classes-tab__head,
.cgi-metrics-tab__head,
.cgi-login-tab__head {
  margin-bottom: 1.25rem;
}

.cgi-batches-tab__title,
.cgi-availability-tab__title,
.cgi-classes-tab__title,
.cgi-metrics-tab__title,
.cgi-login-tab__title,
.detail-notes__title {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: #1f4169;
  letter-spacing: -0.02em;
}

.cgi-batches-tab__desc,
.cgi-availability-tab__desc,
.cgi-classes-tab__desc,
.cgi-metrics-tab__desc,
.cgi-login-tab__desc,
.detail-notes__desc {
  margin: 0;
  font-size: 0.82rem;
  color: #6b7c93;
  max-width: 640px;
}

.cgi-batch-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 1.35rem;
}
.cgi-batch-stats--five {
  grid-template-columns: repeat(5, 1fr);
}
@media (max-width: 1399.98px) {
  .cgi-batch-stats--five {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 991.98px) {
  .cgi-batch-stats--five {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 575.98px) {
  .cgi-batch-stats--five {
    grid-template-columns: 1fr !important;
  }
}

.cgi-batch-stat {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1rem 1.1rem;
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
}

.cgi-batch-stat__icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.cgi-batch-stat__icon img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  display: block;
}

.cgi-batch-stat__body {
  min-width: 0;
}

.cgi-batch-stat__label {
  display: block;
  font-size: 0.72rem;
  font-weight: 500;
  color: #6b7c93;
  margin-bottom: 0.2rem;
}

.cgi-batch-stat__value {
  display: block;
  font-size: 1.35rem;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.1;
}

.cgi-batch-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}
@media (max-width: 1199.98px) {
  .cgi-batch-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cgi-batch-card {
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
  padding: 0.85rem 0.65rem 0.9rem;
}

.cgi-batch-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.cgi-batch-card__name {
  margin: 0 0 0.35rem;
  font-size: 0.92rem;
  font-weight: 700;
  color: #1a2b42;
}

.cgi-batch-card__instructors {
  margin: 0;
  font-size: 0.78rem;
  color: #6b7c93;
}

.cgi-batch-card__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.cgi-batch-card__status {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  background: #e3f5ec;
  color: #22a06b;
  white-space: nowrap;
}

.cgi-batch-card__status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22a06b;
}

.cgi-batch-card__menu {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: #6b7c93;
  cursor: pointer;
}

.cgi-batch-card__menu svg {
  width: 18px;
  height: 18px;
}

.cgi-batch-card__menu:hover {
  background: #f0f4f8;
  color: #1a2b42;
}

.cgi-batch-card__metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}

.cgi-batch-card__metric {
  padding: 0.6rem 0.55rem;
  border-radius: 12px;
  background: linear-gradient(135deg, #0c1f3d 0%, #1a3352 100%);
  color: #ffffff;
}

.cgi-batch-card__metric-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 500;
  opacity: 0.85;
  margin-bottom: 0.25rem;
}

.cgi-batch-card__metric-value {
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.1;
}

.cgi-batch-card__foot {
  display: flex;
  justify-content: flex-end;
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid #d5dee8;
}
.cgi-batch-card__foot .btn--view {
  text-decoration: none;
}

@media (max-width: 767.98px) {
  .cgi-batch-grid {
    gap: 0.85rem;
  }
  .cgi-batch-card {
    padding: 0.95rem 0.95rem 1rem;
  }
  .cgi-batch-card__top {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.55rem 0.65rem;
    margin-bottom: 0.85rem;
  }
  .cgi-batch-card__info {
    flex: 1 1 0;
    min-width: 0;
  }
  .cgi-batch-card__name {
    font-size: 0.9375rem;
    line-height: 1.35;
    margin-bottom: 0.3rem;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .cgi-batch-card__instructors {
    font-size: 0.75rem;
    line-height: 1.4;
  }
  .cgi-batch-card__meta {
    flex: 0 0 auto;
    margin-left: auto;
  }
  .cgi-batch-card__metrics {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.9fr);
    gap: 0.5rem;
  }
  .cgi-batch-card__metric {
    min-width: 0;
    padding: 0.7rem 0.75rem;
  }
  .cgi-batch-card__metric-label {
    font-size: 0.6875rem;
    margin-bottom: 0.2rem;
  }
  .cgi-batch-card__metric-value {
    font-size: 1rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .cgi-batch-card__foot {
    margin-top: 0.85rem;
    padding-top: 0.75rem;
    justify-content: stretch;
  }
  .cgi-batch-card__foot .btn--view {
    width: 100%;
    justify-content: center;
    min-height: 40px;
  }
}
@media (max-width: 575.98px) {
  .cgi-batch-card__metrics {
    grid-template-columns: 1fr;
  }
  .cgi-batch-card__metric {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 0.85rem;
  }
  .cgi-batch-card__metric-label {
    margin-bottom: 0;
    flex-shrink: 0;
  }
  .cgi-batch-card__metric-value {
    text-align: right;
    font-size: 1.05rem;
  }
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.cgi-schedule-tab__toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}

.cgi-schedule-tab__intro {
  flex: 1;
  min-width: 260px;
}

.cgi-schedule-tab__title {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: #1f4169;
  letter-spacing: -0.02em;
}

.cgi-schedule-tab__desc {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  color: #6b7c93;
  max-width: 520px;
}

.cgi-schedule-tab__actions {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
  margin-left: auto;
}
.cgi-schedule-tab__actions .btn-export {
  height: 40px;
  min-height: 40px;
  padding-top: 0;
  padding-bottom: 0;
  box-sizing: border-box;
  flex-shrink: 0;
}

.cgi-schedule-date {
  position: relative;
  display: inline-flex;
  align-items: center;
  max-width: 240px;
}

.fto-admin-scope .cgi-schedule-date input#cgi-schedule-date-display,
.cgi-schedule-date input#cgi-schedule-date-display {
  width: 100%;
  height: 40px;
  border: 1px solid #d5dee8;
  border-radius: 999px;
  padding: 0 2.5rem 0 1rem;
  font-family: inherit;
  font-size: 0.82rem;
  font-weight: 500;
  color: #1a2b42;
  background: #ffffff;
  box-sizing: border-box;
  cursor: pointer;
}

.fto-admin-scope .cgi-schedule-date input.cgi-schedule-date__native,
.cgi-schedule-date input.cgi-schedule-date__native {
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  cursor: pointer;
  z-index: 2;
}

.fto-admin-scope .cgi-schedule-date svg,
.cgi-schedule-date svg {
  position: absolute;
  right: 14px;
  width: 18px;
  height: 18px;
  color: #6b7c93;
  pointer-events: none;
  z-index: 1;
}

.fto-admin-scope .cgi-schedule-date-nav__today:disabled,
.cgi-schedule-date-nav__today:disabled {
  opacity: 0.55;
  cursor: default;
}

.fto-admin-scope .cgi-schedule-tab.is-loading .cgi-day-schedule__timeline,
.cgi-schedule-tab.is-loading .cgi-day-schedule__timeline {
  opacity: 0.55;
  pointer-events: none;
}

.cgi-calendar {
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
}

.cgi-calendar__weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  background: #f3f6f9;
  border-bottom: 1px solid #d5dee8;
}

.cgi-calendar__weekdays span {
  padding: 0.65rem 0.5rem;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.cgi-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}

.cgi-calendar-day {
  min-height: 108px;
  padding: 0.5rem 0.45rem 0.45rem;
  border-right: 1px solid #edf1f5;
  border-bottom: 1px solid #edf1f5;
  background: #ffffff;
}

.cgi-calendar-day:nth-child(7n) {
  border-right: none;
}

.cgi-calendar-day__num {
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
  color: #0c1f3d;
  margin-bottom: 0.35rem;
}

.cgi-calendar-day__events {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.cgi-calendar-day--muted .cgi-calendar-day__num {
  color: #b0bcc9;
}

.cgi-calendar-day--selected {
  background: #f8fffb;
  box-shadow: inset 0 0 0 2px #22a06b;
  z-index: 1;
  position: relative;
}

.cgi-calendar-day--today .cgi-calendar-day__num {
  color: #22a06b;
}

.cgi-cal-pill {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  padding: 0.28rem 0.45rem;
  border-radius: 6px;
  font-size: 0.62rem;
  font-weight: 600;
  line-height: 1.2;
}

.cgi-cal-pill span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cgi-cal-pill svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

.cgi-cal-pill--classes {
  background: #e3f5ec;
  color: #22a06b;
}

.cgi-cal-pill--exam,
.cgi-cal-pill--doubt {
  background: #e8f2fc;
  color: #1565c0;
}

.cgi-cal-pill--leave,
.cgi-cal-pill--conflict {
  background: #fde8e8;
  color: #c62828;
}

.cgi-cal-pill--scheduled {
  background: #fff0e0;
  color: #d97706;
}

.cgi-cal-pill--faded {
  background: #f0f4f8;
  color: #9aa8b8;
}

.cgi-cal-pill--faded svg {
  opacity: 0.55;
}

.cgi-schedule-panel[hidden] {
  display: none !important;
}

.cgi-schedule-tab .cgi-leaves__toolbar {
  margin-top: 0;
}

.cgi-schedule-tab .cgi-leaves__title {
  font-size: 1.15rem;
}

.cgi-leaves__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.cgi-leaves__head {
  margin-bottom: 1.5rem;
}

.cgi-leaves__title {
  margin: 0 0 0.4rem;
  font-size: 26px;
  font-weight: 700;
  color: #1a2b42;
  letter-spacing: -0.02em;
}

.cgi-leaves__desc {
  margin: 0;
  font-size: 13px;
  color: #6b7c93;
  max-width: 560px;
}

.leave-records__head,
.leave-records .leave-row {
  display: grid;
  grid-template-columns: 52px 1.05fr 1.1fr 0.85fr 1.35fr 1fr 110px;
  align-items: center;
  gap: 0.75rem 1rem;
  padding: 0 1.1rem;
}

.leave-records__head {
  margin-bottom: 0.65rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
  text-transform: none;
  letter-spacing: 0.01em;
}

.leave-records .leave-row {
  margin-bottom: 0.65rem;
  min-height: 56px;
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
  font-size: 0.82rem;
  font-weight: 500;
  color: #1a2b42;
}

.leave-records .leave-row span:not(.leave-row__status) {
  min-width: 0;
}

.leave-records.leave-records--applications {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}
@media (min-width: 992px) {
  .leave-records.leave-records--applications .leave-records__head,
  .leave-records.leave-records--applications .leave-row {
    grid-template-columns: 52px minmax(140px, 1.2fr) minmax(84px, 0.8fr) minmax(96px, 0.9fr) minmax(96px, 0.85fr) minmax(120px, 1.25fr) minmax(96px, 0.85fr) minmax(92px, 0.8fr) minmax(210px, 220px);
    min-width: 1180px;
  }
  .leave-records.leave-records--applications .leave-row {
    overflow: visible;
    padding-right: 1.15rem;
  }
  .leave-records.leave-records--applications .leave-row > span:not(.leave-row__actions):not(.leave-row__role):not(.leave-row__status):not(.dash-cell-name) {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .leave-records.leave-records--applications .leave-row > [data-label=Reason] {
    white-space: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.35;
  }
  .leave-records.leave-records--applications .leave-row .dash-cell-name {
    min-width: 0;
    overflow: hidden;
  }
  .leave-records.leave-records--applications .leave-row .leave-row__role,
  .leave-records.leave-records--applications .leave-row .leave-row__status,
  .leave-records.leave-records--applications .leave-row .leave-row__actions {
    overflow: visible;
    text-overflow: unset;
    white-space: normal;
  }
  .leave-records.leave-records--applications .leave-row .leave-row__actions {
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
    min-width: max-content;
    flex-wrap: nowrap;
    white-space: nowrap;
    box-sizing: border-box;
    padding-right: 0.1rem;
  }
  .leave-records.leave-records--applications .leave-row .leave-row__actions .dash-btn {
    flex: 0 0 auto;
    min-width: max-content;
    padding: 0.4rem 0.85rem;
  }
}
@media (max-width: 991.98px) {
  .leave-records.leave-records--applications {
    overflow-x: visible !important;
  }
  .leave-records.leave-records--applications .leave-records__head {
    display: none !important;
  }
  .leave-records.leave-records--applications .leave-records__head,
  .leave-records.leave-records--applications .leave-row {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    grid-template-columns: 1fr !important;
  }
  .leave-records.leave-records--applications .leave-row {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 0.7rem;
    padding: 1rem 1.15rem;
    overflow: visible !important;
    box-sizing: border-box;
  }
  .leave-records.leave-records--applications .leave-row > [data-label] {
    display: flex !important;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    color: #1a2b42;
    font-size: 0.82rem;
    font-weight: 500;
    text-align: right;
  }
  .leave-records.leave-records--applications .leave-row > [data-label]::before {
    content: attr(data-label);
    font-size: 0.6875rem;
    font-weight: 600;
    color: #6b7c93;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    flex: 0 0 auto;
    max-width: 42%;
    text-align: left;
    line-height: 1.3;
  }
  .leave-records.leave-records--applications .leave-row > [data-label=Reason] {
    align-items: flex-start;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.35;
  }
  .leave-records.leave-records--applications .leave-row__role,
  .leave-records.leave-records--applications .leave-row__status {
    justify-content: space-between !important;
  }
  .leave-records.leave-records--applications .leave-row__role .leave-status,
  .leave-records.leave-records--applications .leave-row__status .leave-status {
    margin-left: auto;
    flex-shrink: 0;
  }
  .leave-records.leave-records--applications .leave-row__actions {
    justify-content: flex-start !important;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.4rem;
    width: 100% !important;
  }
  .leave-records.leave-records--applications .leave-row__actions .dash-btn {
    flex: 0 0 5.75rem;
    width: 5.75rem;
    min-width: 5.75rem;
    max-width: 5.75rem;
    box-sizing: border-box;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    justify-content: center;
  }
  .leave-records.leave-records--applications .leave-row__actions .dash-btn:first-of-type {
    margin-left: auto;
  }
  .leave-records.leave-records--applications .leave-row__actions--empty {
    justify-content: space-between !important;
  }
  .leave-records.leave-records--applications .leave-row__actions--empty .dash-btn:first-of-type {
    margin-left: 0;
  }
  .leave-records.leave-records--applications .dash-cell-name {
    justify-content: flex-end !important;
    text-align: right;
    min-width: 0;
    flex: 1 1 auto;
  }
  .leave-records.leave-records--applications .dash-cell-name .dash-cell-name__link {
    margin-left: auto;
    text-align: right;
  }
}

.leave-row__status {
  display: flex;
  justify-content: flex-end;
}

.leave-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.28rem 0.75rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  white-space: nowrap;
}

.leave-status--unavailable {
  color: #c62828;
  background: #fde8e8;
}

.cgi-feedback-panel[hidden] {
  display: none !important;
}

.cgi-feedback-tab__toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}

.cgi-feedback-tab__head {
  flex: 1;
  min-width: 220px;
}

.cgi-feedback-tab__head--detail {
  margin-bottom: 1.15rem;
}

.cgi-feedback-tab__title {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: #1f4169;
  letter-spacing: -0.02em;
}

.cgi-feedback-tab__desc {
  margin: 0;
  font-size: 0.82rem;
  color: #6b7c93;
  max-width: 520px;
}

.cgi-feedback-detail__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.cgi-feedback-detail__actions {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.cgi-feedback-records__head,
.cgi-feedback-records .cgi-feedback-row {
  display: grid;
  grid-template-columns: 52px 1.25fr 0.85fr 0.7fr 0.75fr 1.2fr 1.1fr 88px;
  align-items: center;
  gap: 0.65rem 0.85rem;
  padding: 0 1.1rem;
}

.cgi-feedback-records__head {
  margin-bottom: 0.65rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
}

.cgi-feedback-records .cgi-feedback-row {
  margin-bottom: 0.65rem;
  min-height: 58px;
  padding-top: 0.9rem;
  padding-bottom: 0.9rem;
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
  font-size: 0.82rem;
  font-weight: 500;
  color: #1a2b42;
}

.cgi-feedback-row__sl,
.cgi-feedback-row__class {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2b42;
}

.cgi-feedback-row__students {
  font-weight: 600;
}

.cgi-feedback-row__students--complete {
  color: #22a06b;
}

.cgi-feedback-row__students--partial {
  color: #d97706;
}

.cgi-feedback-row__action {
  display: flex;
  justify-content: flex-end;
}

.cgi-feedback-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.45rem 1rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.cgi-feedback-btn svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.cgi-feedback-btn--outline {
  background: #ffffff;
  color: #1a2b42;
  border: 1px solid #c5ced8;
}

.cgi-feedback-btn--outline:hover {
  background: #f5f8fb;
  border-color: #a8b5c4;
}

.cgi-feedback-btn--primary {
  background: #0c1f3d;
  color: #ffffff;
  border: 1px solid #0c1f3d;
}

.cgi-feedback-btn--primary:hover {
  background: #152d4d;
  border-color: #152d4d;
}

.cgi-feedback-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: wrap;
  margin-bottom: 1.35rem;
  padding: 1.1rem 1.25rem;
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
}
.cgi-feedback-summary .cgi-feedback-summary__metrics {
  margin-bottom: 0;
}

.cgi-feedback-summary__class {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  flex: 1;
  min-width: 260px;
}

.cgi-feedback-summary__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}

.cgi-feedback-summary__icon img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  display: block;
}

.cgi-feedback-summary__title {
  margin: 0 0 0.35rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2b42;
}

.cgi-feedback-summary__meta {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  font-size: 0.75rem;
  color: #6b7c93;
}

.cgi-feedback-summary__stats {
  display: flex;
  align-items: stretch;
  gap: 0;
  flex-wrap: wrap;
}

.cgi-feedback-summary__stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 110px;
  padding: 0 1.25rem;
  text-align: center;
}

.cgi-feedback-summary__stat:not(:last-child) {
  border-right: 1px solid #e2e8f0;
}

.cgi-feedback-summary__stat-value {
  font-size: 1.35rem;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.1;
}

.cgi-feedback-summary__stat-label {
  margin-top: 0.2rem;
  font-size: 0.72rem;
  color: #6b7c93;
  font-weight: 500;
}

.cgi-feedback-students__head {
  display: grid;
  grid-template-columns: 52px 1.35fr 0.85fr 0.95fr 1.15fr 148px;
  align-items: center;
  gap: 0.65rem 0.85rem;
  padding: 0 1.1rem;
  margin-bottom: 0.65rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
}

.cgi-feedback-card {
  margin-bottom: 0.65rem;
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
  font-size: 0.82rem;
  color: #1a2b42;
  overflow: hidden;
}

.cgi-feedback-card--open {
  box-shadow: 0 6px 28px rgba(13, 27, 46, 0.1);
}

.cgi-feedback-card__row {
  display: grid;
  grid-template-columns: 52px 1.35fr 0.85fr 0.95fr 1.15fr 148px;
  align-items: center;
  gap: 0.65rem 0.85rem;
  padding: 0.9rem 1.1rem;
  min-height: 58px;
}

.cgi-feedback-students--no-sl .cgi-feedback-students__head,
.cgi-feedback-students--no-sl .cgi-feedback-card__row {
  grid-template-columns: minmax(140px, 1.35fr) minmax(72px, 0.75fr) minmax(88px, 0.85fr) minmax(120px, 1fr) 110px;
}
.cgi-feedback-students--no-sl .cgi-feedback-students__head > span:first-child,
.cgi-feedback-students--no-sl .cgi-feedback-card__name {
  text-align: left;
  justify-self: start;
}

.cgi-feedback-card__sl {
  font-weight: 700;
  color: #1a2b42;
}

.cgi-feedback-card__name {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.cgi-feedback-card__name strong {
  font-size: 0.88rem;
  font-weight: 700;
  color: #1a2b42;
}

.cgi-feedback-card__name small {
  font-size: 0.72rem;
  color: #6b7c93;
  font-weight: 500;
}

.cgi-feedback-card__date {
  font-size: 0.8rem;
  color: #1a2b42;
}

.cgi-feedback-card__action {
  display: flex;
  justify-content: flex-end;
}

.cgi-feedback-card__detail {
  padding: 0 1.1rem 1.15rem;
  border-top: 1px solid #edf1f5;
}

.cgi-feedback-ratings {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.65rem;
  margin-bottom: 1rem;
}

.cgi-feedback-rating {
  border: 1px solid #d5dee8;
  border-radius: 12px;
  padding: 0.65rem 0.75rem;
  background: #ffffff;
}

.cgi-feedback-rating__label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.72rem;
  font-weight: 500;
  color: #6b7c93;
}

.cgi-feedback-rating__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
}

.cgi-feedback-rating__score {
  flex-shrink: 0;
  padding: 0.15rem 0.45rem;
  border: 1px solid #d5dee8;
  border-radius: 6px;
  font-size: 0.68rem;
  font-weight: 600;
  color: #6b7c93;
  background: #f8fafc;
}

.cgi-feedback-stars {
  display: inline-flex;
  align-items: center;
  gap: 1px;
}

.cgi-feedback-stars__icon {
  width: 14px;
  height: 14px;
  fill: #d5dee8;
}

.cgi-feedback-stars__icon--filled {
  fill: #f59e0b;
}

.cgi-feedback-comment__label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.78rem;
  font-weight: 500;
  color: #6b7c93;
}

.cgi-feedback-comment__box {
  margin: 0;
  padding: 0.9rem 1rem;
  border: 1px solid #d5dee8;
  border-radius: 12px;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #1a2b42;
  background: #ffffff;
}

.cgi-feedback-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  white-space: nowrap;
}

.cgi-feedback-badge--active,
.cgi-feedback-badge--submitted {
  color: #22a06b;
  background: #e3f5ec;
}

.assign-batch-mount {
  margin-top: 0.25rem;
}

.assign-batch {
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 24px;
  padding: 28px 32px 32px;
  box-shadow: 0 2px 12px rgba(12, 31, 61, 0.04);
}

.assign-batch__fields {
  align-items: start;
}

.assign-batch__batch-field .cgi-batch-chips {
  margin-top: 0.65rem;
}

.assign-batch__actions {
  margin-top: 0.5rem;
  gap: 0.85rem;
}

.assign-batch__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  padding: 0.75rem 2rem;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  border: 1.5px solid transparent;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.assign-batch__btn--cancel {
  background: #ffffff;
  color: #F15B55;
  border-color: #F15B55;
}

.assign-batch__btn--cancel:hover {
  background: #fde8e8;
}

.assign-batch__btn--assign {
  background: #F15B55;
  color: #ffffff;
  border-color: #F15B55;
}

.assign-batch__btn--assign:hover {
  background: #d32f3c;
  border-color: #d32f3c;
}

.assign-batch .form-section__head p {
  max-width: 520px;
}

.cgi-dialog {
  width: 100%;
  max-width: 500px;
  background: #ffffff;
  border-radius: 32px;
  box-shadow: 0 0 21.4px rgba(0, 0, 0, 0.08);
  padding: 2rem 2rem 1.75rem;
  text-align: center;
}
@media (max-width: 575.98px) {
  .cgi-dialog {
    border-radius: 28px;
    padding: 1.5rem 1.25rem 1.25rem;
  }
}

.cgi-dialog__title {
  margin: 0 0 0.5rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: #1f4169;
  line-height: 1.25;
}

.cgi-dialog__message {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #1f4169;
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
}

.cgi-dialog .cgi-modal__divider {
  width: 100%;
  margin: 0 0 10px;
  border: none;
  border-top: 1px solid #e4e9f0;
  opacity: 1;
}

.cgi-dialog__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
}

.cgi-dialog__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  max-width: 200px;
  min-width: 0;
  min-height: 48px;
  padding: 0 1.5rem;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  border: none;
  line-height: 1;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}

.cgi-dialog__btn--outline {
  background: #eef1f5;
  color: #1f4169;
}

.cgi-dialog__btn--outline:hover {
  background: #e2e8f0;
}

.cgi-dialog__btn--solid,
.cgi-dialog__btn--done {
  background: #F15B55;
  color: #ffffff;
  border-color: #F15B55;
}

.cgi-dialog__btn--solid:hover,
.cgi-dialog__btn--done:hover {
  background: #d94a42;
  border-color: #d94a42;
}

.cgi-unavailable-modal {
  width: 100%;
  max-width: 560px;
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 16px 48px rgba(12, 31, 61, 0.22);
  padding: 1.65rem 1.75rem 1.5rem;
  text-align: center;
}

.cgi-unavailable-modal__title {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  color: #1f4169;
  letter-spacing: -0.02em;
}

.cgi-unavailable-modal__desc {
  margin: 0 0 1.35rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: #3d5a7a;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

.cgi-unavailable-modal__form {
  text-align: left;
}

.cgi-unavailable-modal__form .form-row {
  margin-bottom: 1rem;
}

.cgi-unavailable-modal__form .form-field label {
  font-size: 0.78rem;
  font-weight: 500;
  color: #6b7c93;
}

.cgi-unavailable-modal__form .form-field__control input,
.cgi-unavailable-modal__form .form-field__control select {
  border-radius: 14px;
  border-color: #e2e8f0;
  padding: 13px 42px 13px 16px;
  font-size: 0.82rem;
}

.cgi-unavailable-modal__form .form-field__control--select select {
  appearance: none;
  cursor: pointer;
}

.cgi-unavailable-modal__form .form-field__icon {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  color: #8a97a8;
  pointer-events: none;
}

.cgi-unavailable-modal__form .form-field__icon--select {
  color: #9aa8b8;
}

.cgi-unavailable-modal__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
  padding-top: 0.25rem;
}

.cgi-unavailable-modal__btn {
  min-width: 130px;
  padding: 0.7rem 1.75rem;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.cgi-unavailable-modal__btn--cancel {
  background: #ffffff;
  color: #e5534b;
  border: 1.5px solid #e5534b;
}

.cgi-unavailable-modal__btn--cancel:hover {
  background: #fff5f4;
}

.cgi-unavailable-modal__btn--confirm {
  background: #e5534b;
  color: #ffffff;
  border: 1.5px solid #e5534b;
}

.cgi-unavailable-modal__btn--confirm:hover {
  background: #d94a42;
  border-color: #d94a42;
}

.cgi-login-tab__head {
  margin-bottom: 1.25rem;
}

.login-activity__head,
.login-activity .login-row {
  display: grid;
  grid-template-columns: 52px 1.45fr 1.05fr 1.05fr 0.95fr 1.05fr 108px;
  align-items: center;
  gap: 0.65rem 0.85rem;
  padding: 0 1.1rem;
}

.login-activity__head {
  margin-bottom: 0.65rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
}

.login-activity .login-row {
  margin-bottom: 0.65rem;
  min-height: 72px;
  padding-top: 0.95rem;
  padding-bottom: 0.95rem;
  background: #ffffff;
  border: 1px solid #e4eaf0;
  border-radius: 18px;
  box-shadow: none;
  font-size: 0.8rem;
  font-weight: 500;
  color: #1a2b42;
}

.login-row__sl {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2b42;
}

.login-row__device {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}

.login-row__device-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #f0f4f8;
  color: #F15B55;
  flex-shrink: 0;
}

.login-row__device-icon svg {
  width: 20px;
  height: 20px;
}

.login-row__device-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.3rem;
  min-width: 0;
}

.login-row__device-info strong {
  font-size: 0.88rem;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.2;
}

.login-row__device-badge {
  display: inline-flex;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 600;
  color: #6b7c93;
  background: #eef2f6;
  border: 1px solid #e2e8f0;
}

.login-row__datetime {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  line-height: 1.25;
}

.login-row__datetime--empty .login-row__date,
.login-row__datetime--empty .login-row__time {
  color: #6b7c93;
}

.login-row__date {
  font-size: 0.8rem;
  font-weight: 600;
  color: #1a2b42;
}

.login-row__time {
  font-size: 0.75rem;
  color: #6b7c93;
  font-weight: 500;
}

.login-row__status {
  display: flex;
  justify-content: flex-end;
}

.login-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.28rem 0.75rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  white-space: nowrap;
  border: 1px solid transparent;
}

.login-status--ongoing {
  color: #22a06b;
  background: #e3f5ec;
  border-color: rgba(34, 160, 107, 0.2);
}

.login-status--completed {
  color: #8a97a8;
  background: #f0f4f8;
  border-color: #e2e8f0;
}

@media (max-width: 1199px) {
  .cgi-batch-stats:not(.cgi-batch-stats--five) {
    grid-template-columns: repeat(2, 1fr);
  }
  .cgi-calendar {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .cgi-calendar__weekdays,
  .cgi-calendar__grid {
    grid-template-columns: repeat(7, 104px);
    min-width: 728px;
  }
  .cgi-calendar__weekdays,
  .cgi-calendar__grid {
    min-width: 720px;
  }
}
@media (max-width: 991px) {
  .cgi-details__cards {
    grid-template-columns: 1fr;
  }
  .cgi-batch-stats:not(.cgi-batch-stats--five) {
    grid-template-columns: repeat(2, 1fr);
  }
  .cgi-cert-tab .cgi-cert-grid {
    grid-template-columns: 1fr;
  }
  .cgi-batch-grid {
    grid-template-columns: 1fr;
  }
  .cgi-schedule-tab__actions {
    width: 100%;
    margin-left: 0;
  }
  .cgi-schedule-tab__actions .cgi-details-btn,
  .cgi-schedule-tab__actions .btn-export,
  .cgi-leaves__toolbar .btn-export {
    flex: 1 1 100%;
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 767.98px) {
  .cgi-feedback-records,
  .cgi-feedback-students,
  .login-activity {
    overflow-x: visible;
    -webkit-overflow-scrolling: touch;
  }
  .cgi-feedback-records__head,
  .cgi-feedback-students__head,
  .login-activity__head {
    display: none;
  }
  .cgi-feedback-records__head,
  .cgi-feedback-records .cgi-feedback-row,
  .cgi-feedback-students__head,
  .cgi-feedback-students .cgi-feedback-card__row,
  .login-activity__head,
  .login-activity .login-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
  .cgi-feedback-records .cgi-feedback-row,
  .login-activity .login-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 16px;
    margin-bottom: 10px;
  }
  .cgi-feedback-students .cgi-feedback-card__row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 16px;
    min-height: 0;
  }
  .cgi-feedback-records .cgi-feedback-row > [data-label],
  .cgi-feedback-students .cgi-feedback-card__row > [data-label],
  .login-activity .login-row > [data-label] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%;
    text-align: right;
  }
  .cgi-feedback-records .cgi-feedback-row > [data-label]::before,
  .cgi-feedback-students .cgi-feedback-card__row > [data-label]::before,
  .login-activity .login-row > [data-label]::before {
    content: attr(data-label);
    font-size: 11px;
    font-weight: 600;
    color: #6b7c93;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    flex-shrink: 0;
    text-align: left;
  }
  .cgi-feedback-records .cgi-feedback-row__action,
  .cgi-feedback-students .cgi-feedback-card__action {
    flex-direction: column;
    align-items: stretch;
  }
  .cgi-feedback-records .cgi-feedback-row__action::before,
  .cgi-feedback-students .cgi-feedback-card__action::before {
    align-self: flex-start;
  }
  .cgi-feedback-records .cgi-feedback-row__action .cgi-feedback-btn,
  .cgi-feedback-students .cgi-feedback-card__action .cgi-feedback-btn {
    width: 100%;
    justify-content: center;
  }
  .cgi-feedback-students .cgi-feedback-card__row .cgi-feedback-card__name {
    align-items: flex-end;
    text-align: right;
  }
  .login-activity .login-row__device {
    justify-content: flex-end;
  }
  .login-activity .login-row__datetime {
    align-items: flex-end;
  }
  .cgi-feedback-summary {
    flex-direction: column;
    align-items: stretch;
  }
  .cgi-feedback-summary__class {
    flex-direction: column;
    align-items: flex-start;
  }
  .cgi-feedback-summary__metrics {
    width: 100%;
  }
  .cgi-feedback-summary__stats {
    width: 100%;
    justify-content: space-between;
  }
  .cgi-feedback-ratings {
    grid-template-columns: 1fr;
  }
  .cgi-feedback-summary__stat {
    min-width: 90px;
    padding: 0 0.85rem;
  }
}
@media (max-width: 575px) {
  .cgi-details__actions {
    width: 100%;
  }
  .cgi-details__actions .cgi-details-btn {
    flex: 1;
    justify-content: center;
  }
  .cgi-profile-card__grid,
  .cgi-overview-section__grid {
    grid-template-columns: 1fr;
  }
  .cgi-cert-tab .cgi-cert-card__fields {
    grid-template-columns: 1fr;
  }
  .cgi-cert-card__actions {
    width: 100%;
  }
  .cgi-cert-card__actions .cgi-cert-action-btn {
    flex: 1;
    justify-content: center;
  }
  .cgi-batch-stats:not(.cgi-batch-stats--five) {
    grid-template-columns: 1fr;
  }
  .cgi-schedule-tab__actions {
    width: 100%;
    margin-left: 0;
  }
  .cgi-schedule-tab__actions .cgi-details-btn,
  .cgi-schedule-tab__actions .btn-export {
    flex: 1 1 100%;
    width: 100%;
    justify-content: center;
  }
  .cgi-calendar-day {
    min-height: 88px;
  }
  .leave-records {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .leave-records__head,
  .leave-records .leave-row {
    min-width: 880px;
  }
  .leave-records.leave-records--applications,
  .leave-records.leave-records--simple {
    overflow-x: visible;
  }
  .leave-records.leave-records--applications .leave-records__head,
  .leave-records.leave-records--applications .leave-row,
  .leave-records.leave-records--simple .leave-records__head,
  .leave-records.leave-records--simple .leave-row {
    min-width: 0 !important;
  }
}
.cgi-notes-panel[hidden] {
  display: none !important;
}

.cgi-notes-tab__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}

.cgi-notes-tab__head {
  flex: 1;
  min-width: 260px;
}

.cgi-notes-tab__title {
  margin: 0 0 0.4rem;
  font-size: 1.35rem;
  font-weight: 700;
  color: #1a2b42;
  letter-spacing: -0.02em;
}

.cgi-notes-tab__desc {
  margin: 0;
  font-size: 0.8rem;
  color: #6b7c93;
  max-width: 620px;
  line-height: 1.5;
}

.cgi-notes-add-btn,
.cgi-notes-edit-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 1.1rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  white-space: nowrap;
  border: none;
  background: #e5534b;
  color: #ffffff;
  transition: background 0.2s;
}

.cgi-notes-add-btn svg,
.cgi-notes-edit-btn svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.cgi-notes-add-btn:hover,
.cgi-notes-edit-btn:hover {
  background: #d94a42;
}

.cgi-notes-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cgi-note-card {
  padding: 1.35rem 1.5rem 1.25rem;
  background: #ffffff;
  border: 1px solid #e4eaf0;
  border-radius: 18px;
  box-shadow: none;
}

.cgi-note-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.cgi-note-card__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.35;
}

.cgi-note-card__body {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.6;
  color: #5a6b7d;
}

.cgi-note-card__meta {
  display: flex;
  margin-top: 1.15rem;
  font-size: 0.75rem;
  font-weight: 600;
}

.cgi-note-card__meta--end {
  justify-content: flex-end;
}

.cgi-note-card__meta--end .cgi-note-card__meta-group {
  color: #2a4a72;
}

.cgi-note-card__meta--end .cgi-note-card__meta-group svg {
  color: #3d6a9e;
}

.cgi-note-card__meta--start {
  justify-content: flex-start;
}

.cgi-note-card__meta--start .cgi-note-card__meta-group {
  color: #6b7c93;
}

.cgi-note-card__meta--start .cgi-note-card__meta-group svg {
  color: #9aa8b8;
}

.cgi-note-card__meta-group {
  display: inline-flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

.cgi-note-card__author,
.cgi-note-card__date {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.cgi-note-card__author svg,
.cgi-note-card__date svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.cgi-notes-form {
  width: 100%;
}

.cgi-notes-form__head {
  margin-bottom: 1.5rem;
}

.cgi-notes-form__title {
  margin: 0 0 0.4rem;
  font-size: 1.35rem;
  font-weight: 700;
  color: #1a2b42;
  letter-spacing: -0.02em;
}

.cgi-notes-form__desc {
  margin: 0;
  font-size: 0.8rem;
  color: #6b7c93;
  line-height: 1.45;
}

.cgi-notes-form__field {
  margin-bottom: 1.25rem;
}

.cgi-notes-form__field label {
  font-size: 0.8rem;
  font-weight: 500;
  color: #6b7c93;
}

.cgi-notes-form__required {
  color: #1a2b42;
  font-weight: 600;
}

.cgi-notes-form__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  flex-wrap: wrap;
  margin-top: 2rem;
  padding-bottom: 0.5rem;
}

.cgi-notes-form__btn {
  min-width: 155px;
  padding: 0.8rem 2rem;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  border: none;
  transition: background 0.2s, color 0.2s;
}

.cgi-notes-form__btn--cancel {
  background: #e5e9ee;
  color: #1a2b42;
}

.cgi-notes-form__btn--cancel:hover {
  background: #d8dee6;
}

.cgi-notes-form__btn--save {
  background: #e5534b;
  color: #ffffff;
}

.cgi-notes-form__btn--save:hover {
  background: #d94a42;
}

.cgi-notes-form .form-field__control input {
  border-color: #e2e8f0;
  padding: 15px 20px;
}

.cgi-note-editor {
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  overflow: hidden;
  background: #ffffff;
}

.cgi-note-editor__toolbar {
  display: flex;
  align-items: center;
  gap: 0.15rem;
  padding: 0.65rem 0.85rem;
  background: #eef2f6;
  border-bottom: 1px solid #e2e8f0;
}

.cgi-note-editor__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: #1a2b42;
  font-size: 0.9rem;
  cursor: pointer;
}

.cgi-note-editor__btn svg {
  width: 18px;
  height: 18px;
  fill: #1a2b42;
}

.cgi-note-editor__btn:hover {
  background: rgba(12, 31, 61, 0.06);
}

.cgi-note-editor__area {
  display: block;
  width: 100%;
  min-height: 240px;
  padding: 1.1rem 1.2rem 1.25rem;
  border: none;
  resize: vertical;
  font-family: inherit;
  font-size: 0.85rem;
  line-height: 1.55;
  color: #1a2b42;
  outline: none;
  background: #ffffff;
}

.cgi-note-editor__area::placeholder {
  color: #b0bac7;
}

.sf-panel-tools {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.sf-panel-tools .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}

.sf-class-records__head,
.sf-class-records .sf-class-row {
  display: grid;
  grid-template-columns: 48px 1.1fr 0.8fr 1.05fr 1.2fr 0.72fr 0.82fr 0.68fr 0.82fr 72px;
  align-items: center;
  gap: 0.55rem 0.75rem;
  padding: 0 1rem;
}

.sf-class-records__head {
  margin-bottom: 0.65rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
}

.sf-class-records .sf-class-row {
  margin-bottom: 0.65rem;
  min-height: 58px;
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
  font-size: 0.82rem;
  font-weight: 500;
  color: #1a2b42;
}

.sf-class-row__sl,
.sf-class-row__class {
  font-weight: 700;
  color: #1a2b42;
}

.sf-class-row__instructor {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.sf-class-row__instructor strong {
  font-weight: 700;
  color: #1a2b42;
}

.sf-class-row__instructor small {
  font-size: 0.72rem;
  color: #6b7c93;
  font-weight: 500;
}

.sf-class-row__datetime {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  font-size: 0.78rem;
}

.sf-class-row__datetime span:first-child {
  font-weight: 600;
  color: #1a2b42;
}

.sf-class-row__datetime span:last-child {
  color: #6b7c93;
  font-size: 0.72rem;
}

.sf-class-row__rating {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-weight: 700;
  color: #1a2b42;
}

.sf-class-row__rating img {
  width: 16px;
  height: 16px;
  object-fit: contain;
}

.sf-class-row__action {
  display: flex;
  justify-content: flex-end;
}

.sf-info-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-bottom: 1.35rem;
}

.sf-info-card {
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
  padding: 1.2rem 1.3rem 1.3rem;
}

.sf-info-card__head {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #edf1f5;
}

.sf-info-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}

.sf-info-card__icon img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.sf-info-card__avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid #ffffff;
  box-shadow: 0 2px 10px rgba(12, 31, 61, 0.12);
}

.sf-info-card__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #1a2b42;
}

.sf-info-card__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem 1.25rem;
}

.sf-info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem 0.85rem;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 12px;
  min-height: 52px;
}

.sf-info-row__label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
}

.sf-info-row__label svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: #8a9bb0;
}

.sf-info-row__value {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.3rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #1a2b42;
  text-align: right;
}

.sf-info-row__value img {
  width: 14px;
  height: 14px;
  object-fit: contain;
}

.sf-detail-header {
  margin-bottom: 1.25rem;
}

.sf-detail-header .btn--back {
  margin-bottom: 0.85rem;
}

.sf-detail-header__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.sf-detail-header h1 {
  margin: 0 0 0.35rem;
  font-size: 26px;
  font-weight: 700;
  color: #1a2b42;
  letter-spacing: -0.02em;
}

.sf-detail-header p {
  margin: 0;
  font-size: 13px;
  color: #6b7c93;
  max-width: 480px;
}

@media (max-width: 1100px) {
  .sf-info-cards {
    grid-template-columns: 1fr;
  }
  .sf-panel-tools {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .sf-panel-tools .directory__search {
    width: 100%;
    min-width: 0;
  }
  .sf-panel-tools .directory__search input {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
  }
  .sf-panel-tools .btn--filter,
  .sf-panel-tools .staff-btn {
    width: 100%;
    justify-content: center;
  }
  .sf-class-records {
    overflow-x: visible;
  }
  .sf-class-records__head {
    display: none;
  }
  .sf-class-records__head,
  .sf-class-records .sf-class-row {
    min-width: 0;
  }
  .sf-class-records .sf-class-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 1rem;
  }
  .sf-class-records .sf-class-row > [data-label] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%;
  }
  .sf-class-records .sf-class-row > [data-label]::before {
    content: attr(data-label);
    font-size: 11px;
    font-weight: 600;
    color: #6b7c93;
    text-transform: uppercase;
    flex-shrink: 0;
  }
  .sf-class-records .sf-class-row__instructor {
    align-items: flex-end;
    text-align: right;
  }
  .sf-class-records .sf-class-row__datetime {
    align-items: flex-end;
    text-align: right;
  }
  .sf-class-records .sf-class-row__rating {
    justify-content: flex-end;
  }
  .sf-class-records .sf-class-row__action {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
  .sf-class-records .sf-class-row__action::before {
    align-self: flex-start;
  }
  .sf-class-records .sf-class-row__action .cgi-feedback-btn {
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 640px) {
  .sf-info-card__grid {
    grid-template-columns: 1fr;
  }
  .page-header__actions .cgi-details-btn {
    width: 100%;
    justify-content: center;
  }
}
.staff-overview-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.staff-overview-stat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  border-radius: 16px;
  min-height: 108px;
}

.staff-overview-stat__label {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  margin-bottom: 0.35rem;
  opacity: 0.92;
}

.staff-overview-stat__value {
  display: block;
  font-size: 2.15rem;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.staff-overview-stat__sub {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.72rem;
  font-weight: 500;
  opacity: 0.88;
}

.staff-overview-stat__icon {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.2);
  padding: 0.55rem;
}

.staff-overview-stat__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.staff-overview-stat--primary {
  background: linear-gradient(135deg, #0c1f3d 0%, #1a3352 100%);
  color: #ffffff;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
}

.staff-overview-stat--primary .staff-overview-stat__icon {
  background: rgba(241, 91, 85, 0.95);
}

.staff-overview-stat--primary .staff-overview-stat__icon img {
  filter: brightness(0) invert(1);
}

.staff-overview-stat--sky {
  background: #c8e4f5;
  color: #1a2b42;
}

.staff-overview-stat--sky .staff-overview-stat__sub {
  color: #6b7c93;
}

.staff-overview-stat--sky .staff-overview-stat__icon {
  background: rgba(255, 255, 255, 0.65);
}

.staff-overview-stat--muted {
  background: #dde7f2;
  color: #1a2b42;
}

.staff-overview-stat--muted .staff-overview-stat__sub {
  color: #6b7c93;
}

.staff-overview-stat--muted .staff-overview-stat__icon {
  background: rgba(255, 255, 255, 0.65);
}

.staff-overview-stat--coral {
  background: #f5d4d2;
  color: #1a2b42;
}

.staff-overview-stat--coral .staff-overview-stat__sub {
  color: #6b7c93;
}

.staff-overview-stat--coral .staff-overview-stat__icon {
  background: rgba(12, 31, 61, 0.12);
}

.staff-btn--add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  height: 40px;
  min-height: 40px;
  padding: 0 1.25rem;
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  box-sizing: border-box;
  text-decoration: none;
  color: #ffffff;
  background: #0c1f3d;
  transition: opacity 0.2s;
}

.staff-btn--add svg {
  width: 18px;
  height: 18px;
}

.staff-btn--add:hover {
  opacity: 0.9;
}

.staff-directory-records__head,
.staff-directory-records .staff-directory-row {
  display: grid;
  grid-template-columns: 72px 1.4fr 0.9fr 0.8fr 0.6fr 1.1fr 0.9fr 90px;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 0.35rem;
}

.staff-directory-records__head {
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 1px solid #d5dee8;
  padding-bottom: 0.65rem;
}

.staff-directory-row {
  border-bottom: 1px solid rgba(213, 222, 232, 0.65);
  font-size: 0.82rem;
  color: #1a2b42;
}

.staff-directory-row__name {
  font-weight: 600;
}

.staff-directory-row__name-inner {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.staff-directory-row__name-text {
  font-weight: 600;
  color: #1a2b42;
}

.staff-directory-row__callsign {
  font-size: 0.72rem;
  font-weight: 500;
  color: #6b7c93;
}

.staff-directory-row__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
}

.staff-directory-row__avatar--highlight {
  box-shadow: 0 0 0 2px #e5534b;
}

.staff-directory-row__action {
  text-align: right;
}

.staff-status-badge {
  display: inline-flex;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
}

.staff-status-badge--active {
  background: #e3f5ec;
  color: #22a06b;
}

.staff-status-badge--ongoing {
  background: #e0f4f8;
  color: #0d7a8c;
}

.staff-btn--view {
  display: inline-flex;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
  color: #ffffff;
  background: #0c1f3d;
}

.staff-manage-page .stats.stats--staff-manage {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 991.98px) {
  .staff-manage-page .stats.stats--staff-manage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .staff-manage-page .stats.stats--staff-manage {
    grid-template-columns: 1fr;
  }
}
.staff-manage-page .directory__search {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 0 16px;
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
  height: 42px;
  min-height: 42px;
  box-sizing: border-box;
}
.staff-manage-page .directory__search svg {
  width: 16px;
  height: 16px;
  color: #6b7c93;
  flex-shrink: 0;
}
.staff-manage-page .directory__search input {
  border: none;
  outline: none;
  font-size: 13px;
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  background: transparent;
  color: #1a2b42;
}
.staff-manage-page .staff-manage-directory__select {
  min-width: 200px;
  flex: 1 1 200px;
  max-width: 360px;
  min-height: 42px;
  height: 42px;
  padding-top: 0;
  padding-bottom: 0;
  color: #1a2b42;
}
@media (min-width: 999px) {
  .staff-manage-page .staff-manage-directory .directory__header--tools-split .directory__tools {
    width: 100%;
    margin-left: 0;
    justify-content: flex-start;
    flex-wrap: nowrap;
    align-items: center;
  }
  .staff-manage-page .staff-manage-directory .directory__header--tools-split .staff-manage-directory__select {
    flex: 0 1 auto;
  }
  .staff-manage-page .staff-manage-directory .directory__header--tools-split .directory__search {
    flex: 0 0 280px;
    width: 280px;
    min-width: 280px;
    max-width: 280px;
    margin-left: auto;
  }
}
@media (max-width: 998px) {
  .staff-manage-page .staff-manage-directory .directory__header--tools-only {
    justify-content: flex-start;
  }
  .staff-manage-page .staff-manage-directory .directory__tools {
    width: 100%;
    margin-left: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
  }
  .staff-manage-page .staff-manage-directory .staff-manage-directory__select,
  .staff-manage-page .staff-manage-directory .directory__search {
    width: 100%;
    max-width: none;
    min-width: 0;
    flex: none;
    height: 42px;
    min-height: 42px;
    box-sizing: border-box;
  }
  .staff-manage-page .staff-manage-directory .directory__search {
    padding: 0 16px;
  }
}
.staff-manage-page .fto-admin-scope .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  font-family: inherit;
}
.staff-manage-page .fto-admin-scope .btn svg {
  width: 16px;
  height: 16px;
}
.staff-manage-page .fto-admin-scope .btn--filter {
  background: #ffffff;
  color: #1a2b42;
  border: 1px solid #e2e8f0;
  padding: 10px 18px;
  border-radius: 12px;
  font-size: 13px;
}
.staff-manage-page .fto-directory-empty.staff-manage-empty {
  padding: 1.5rem 1rem;
  text-align: center;
  color: #6b7c93;
  font-size: 0.875rem;
  font-weight: 500;
}

@media (max-width: 1100px) {
  .staff-manage-page .sf-panel-tools {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 8px;
  }
  .staff-manage-page .sf-panel-tools__end {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    margin-left: 0;
    gap: 8px;
  }
  .staff-manage-page .sf-panel-tools .directory__search {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    max-width: none;
    padding: 8px 12px;
  }
  .staff-manage-page .sf-panel-tools .btn--filter,
  .staff-manage-page .sf-panel-tools .btn-export,
  .staff-manage-page .sf-panel-tools .btn-export--pill {
    flex: 0 0 auto;
    width: 100%;
    justify-content: center;
    padding: 8px 14px;
  }
}
.form-row--three {
  grid-template-columns: repeat(3, 1fr);
}

.add-staff-flow {
  background: #ffffff;
  border: 2px solid #b8d9ef;
  border-radius: 24px;
  padding: 1.75rem 2rem 2rem;
  margin-top: 0.5rem;
}

.add-staff-flow__head {
  margin-bottom: 1.25rem;
}

.add-staff-flow__head h1 {
  margin: 0 0 0.4rem;
  font-size: 26px;
  font-weight: 700;
  color: #1a2b42;
  letter-spacing: -0.02em;
}

.add-staff-flow__head p {
  margin: 0;
  font-size: 13px;
  color: #6b7c93;
  max-width: 560px;
}

.add-staff-flow__tabs {
  display: flex;
  gap: 1.5rem;
  border-bottom: 1px solid #d5dee8;
  margin-bottom: 1.5rem;
}

.add-staff-flow__tab {
  background: none;
  border: none;
  padding: 0 0 0.75rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: #6b7c93;
  cursor: pointer;
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
  font-family: inherit;
}

.add-staff-flow__tab.is-active {
  color: #0c1f3d;
  border-bottom-color: #0c1f3d;
}

.add-staff-flow__section {
  margin-top: 0.5rem;
}

.add-staff-flow__section-title {
  margin: 0 0 1rem;
  font-size: 1rem;
  font-weight: 700;
  color: #1a2b42;
}

.add-staff-flow__actions--split {
  gap: 0.75rem;
}

.add-staff-flow .form-section__head h2 {
  font-size: 1.05rem;
}

.add-staff-cert-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
}

.form-field__control--upload {
  position: relative;
  display: flex;
  align-items: center;
  padding-right: 4.5rem;
}

.form-field__control--upload input[type=text] {
  flex: 1;
  border: none;
  background: transparent;
  min-width: 0;
}

.form-field__control--upload .form-field__upload-icons {
  position: absolute;
  right: 0.85rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  pointer-events: none;
}

.form-field__control--upload .form-field__upload-icons svg {
  width: 18px;
  height: 18px;
  color: #6b7c93;
}

.form-field__control--upload .form-field__file {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
}

.add-staff-permissions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 2rem;
  margin-bottom: 0.5rem;
}

.add-staff-check {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  cursor: pointer;
  font-size: 0.85rem;
  font-weight: 500;
  color: #1a2b42;
}

.add-staff-check input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.add-staff-check__box {
  width: 20px;
  height: 20px;
  border-radius: 5px;
  border: 2px solid #d5dee8;
  background: #ffffff;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.add-staff-check input:checked + .add-staff-check__box {
  background: #2563eb;
  border-color: #2563eb;
}

.add-staff-check input:checked + .add-staff-check__box::after {
  content: "";
  width: 6px;
  height: 10px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  margin-top: -2px;
}

.add-staff-success {
  background: #ffffff;
  border: 2px solid #b8d9ef;
  border-radius: 24px;
  padding: 3rem 2rem;
  margin-top: 0.5rem;
  text-align: center;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.add-staff-success__img {
  max-width: 280px;
  width: 100%;
  height: auto;
  margin-bottom: 1.5rem;
}

.add-staff-success__title {
  margin: 0 0 0.5rem;
  font-size: 1.35rem;
  font-weight: 700;
  color: #1a2b42;
}

.add-staff-success__desc {
  margin: 0 0 1.5rem;
  font-size: 0.85rem;
  color: #6b7c93;
  max-width: 420px;
}

.add-staff-success__cta {
  min-width: 200px;
}

@media (max-width: 575px) {
  .add-staff-success {
    padding: 2rem 1.25rem;
    min-height: 360px;
    border-radius: 20px;
  }
  .add-staff-success__img {
    max-width: 220px;
    margin-bottom: 1.25rem;
  }
  .add-staff-success__title {
    font-size: 1.2rem;
  }
  .add-staff-success__desc {
    font-size: 0.8rem;
    padding: 0 0.5rem;
  }
  .add-staff-success__cta {
    width: 100%;
    max-width: 320px;
  }
}
@media (max-width: 1100px) {
  .staff-overview-stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .staff-directory-records {
    overflow-x: visible;
  }
  .staff-directory-records__head {
    display: none;
  }
  .staff-directory-records__head,
  .staff-directory-records .staff-directory-row {
    min-width: 0;
  }
  .staff-directory-records .staff-directory-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 1rem;
    margin-bottom: 0.65rem;
    border: 1px solid #d5dee8;
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
    background: #ffffff;
  }
  .staff-directory-records .staff-directory-row:last-child {
    margin-bottom: 0;
  }
  .staff-directory-records .staff-directory-row > [data-label] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%;
  }
  .staff-directory-records .staff-directory-row > [data-label]::before {
    content: attr(data-label);
    font-size: 11px;
    font-weight: 600;
    color: #6b7c93;
    text-transform: uppercase;
    flex-shrink: 0;
  }
  .staff-directory-records .staff-directory-row__profile {
    justify-content: flex-end;
  }
  .staff-directory-records .staff-directory-row__name {
    text-align: right;
  }
  .staff-directory-records .staff-directory-row__name .staff-directory-row__name-inner {
    margin-left: auto;
    text-align: right;
  }
  .staff-directory-records .staff-directory-row__action {
    justify-content: space-between !important;
    align-items: center !important;
    text-align: left;
    padding-top: 0.15rem;
    width: 100%;
  }
  .staff-directory-records .staff-directory-row__action::before {
    display: block !important;
    content: attr(data-label) !important;
    font-size: 11px;
    font-weight: 600;
    color: #6b7c93;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    flex: 0 0 auto;
    max-width: 42%;
    text-align: left;
    line-height: 1.3;
  }
  .staff-directory-records .staff-directory-row__action .staff-directory-row__action-group {
    width: auto;
    margin-left: auto;
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.4rem;
    padding-top: 0;
    flex: 0 0 auto;
  }
  .staff-directory-records .staff-directory-row__action .btn--view,
  .staff-directory-records .staff-directory-row__action .staff-btn--view {
    flex: 0 0 auto;
    width: auto;
    min-width: 5.75rem;
    justify-content: center;
  }
  .add-staff-cert-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .staff-overview-stats {
    grid-template-columns: 1fr;
  }
  .staff-overview-stat {
    min-height: auto;
    padding: 1rem 1.1rem;
  }
  .staff-overview-stat__value {
    font-size: 1.75rem;
  }
  .page-header__actions .staff-btn--add {
    width: 100%;
    justify-content: center;
  }
  .form-row--three,
  .add-staff-flow {
    padding: 1.25rem 1.15rem 1.5rem;
  }
  .add-staff-permissions {
    flex-direction: column;
    gap: 0.85rem;
  }
}
.staff-detail-btn--suspend {
  background: #f5d4d2;
  color: #e5534b;
  border: 1px solid rgba(229, 83, 75, 0.35);
}

.staff-detail-btn--suspend:hover {
  background: #f0c4c1;
}

.staff-detail .btn--back {
  margin-bottom: 0.85rem;
}

.staff-detail__hero {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 1rem;
  margin-bottom: 1.5rem;
  align-items: stretch;
}

.staff-detail__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}

.staff-detail-profile__status {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.staff-detail-profile__status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22a06b;
}

.staff-detail-stat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.9rem 1rem;
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
  min-height: 88px;
}

.staff-detail-stat__label {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
  margin-bottom: 0.2rem;
}

.staff-detail-stat__value {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 1.35rem;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.1;
}

.staff-detail-stat__sub {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.68rem;
  color: #6b7c93;
}

.staff-detail-stat__stars {
  display: inline-block;
  vertical-align: middle;
}

.staff-detail-stat__chart {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
}

.staff-detail-stat__chart--donut {
  border-radius: 50%;
  border: 6px solid #eef2f6;
}

.staff-detail-stat__chart--donut.staff-detail-stat__chart--red {
  border-top-color: #e5534b;
  border-right-color: rgba(229, 83, 75, 0.35);
}

.staff-detail-stat__chart--donut.staff-detail-stat__chart--green {
  border-top-color: #22a06b;
  border-right-color: rgba(34, 160, 107, 0.35);
}

.staff-detail-stat__chart--donut.staff-detail-stat__chart--blue {
  border-top-color: #3b82c4;
  border-right-color: rgba(59, 130, 196, 0.35);
}

.staff-detail-stat__chart--line svg {
  width: 100%;
  height: 100%;
  color: #22a06b;
}

.staff-detail-stat__chart--timeline {
  display: flex;
  align-items: center;
  gap: 4px;
}

.staff-detail-stat__chart--timeline span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #c4b5fd;
}

.staff-detail-stat__chart--timeline span:nth-child(2) {
  background: #a78bfa;
}

.staff-detail-stat__chart--timeline span:nth-child(3) {
  background: #8b5cf6;
}

.staff-detail-stat__chart--alert {
  display: flex;
  align-items: center;
  justify-content: center;
}

.staff-detail-stat__chart--bars {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  height: 40px;
}

.staff-detail-stat__chart--bars span {
  width: 8px;
  border-radius: 4px 4px 0 0;
  background: #c4b5fd;
}

.staff-detail-stat__alert-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #F15B55;
  box-shadow: 0 0 0 4px rgba(230, 57, 70, 0.15);
}

.staff-detail-overview {
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
  padding: 1.35rem 1.5rem 1.5rem;
}

.staff-detail-overview__head {
  margin-bottom: 0.25rem;
}

.staff-detail-overview__head h2 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #1a2b42;
}

.staff-detail-overview__head p {
  margin: 0;
  font-size: 0.8rem;
  color: #6b7c93;
  max-width: 520px;
}

.staff-detail-overview .cgi-tabs {
  margin-top: 1rem;
  margin-bottom: 1.15rem;
}

.sd-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
}

.sd-badge__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

.sd-badge--scheduled {
  background: #e0f0fa;
  color: #1a6fa8;
}

.sd-badge--pending {
  background: #fff0e0;
  color: #d97706;
}

.sd-badge--completed {
  background: #e3f5ec;
  color: #22a06b;
}

.sd-badge--active {
  background: #e3f5ec;
  color: #22a06b;
}

.sd-badge--inactive {
  background: #f1f5f9;
  color: #64748b;
}

.sd-badge--activity {
  background: #e8edf2;
  color: #1a2b42;
}

.sd-badge--bordered {
  border: 1px solid rgba(34, 160, 107, 0.35);
}

.sd-io-list__head,
.sd-io-list .sd-io-row {
  display: grid;
  grid-template-columns: 1.2fr 0.9fr 1fr auto;
  align-items: center;
  gap: 1rem;
  padding: 0 0.25rem;
}

.sd-io-list__head {
  font-size: 0.7rem;
  font-weight: 600;
  color: #6b7c93;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.65rem;
}

.sd-io-list--activity .sd-io-list__head,
.sd-io-list--activity .sd-io-row {
  grid-template-columns: 1.1fr 1fr 0.8fr auto;
}

.sd-io-list--reports .sd-io-list__head,
.sd-io-list--reports .sd-io-row {
  grid-template-columns: 1fr 1.5fr auto;
}

.sd-io-row {
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 999px;
  padding: 0.95rem 1.25rem;
  margin-bottom: 0.65rem;
  box-shadow: 0 2px 12px rgba(12, 31, 61, 0.04);
  font-size: 0.82rem;
  color: #6b7c93;
}

.sd-io-row__subject {
  font-weight: 700;
  color: #1a2b42;
}

.sd-io-row__file-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}

.sd-io-row--report {
  grid-template-columns: 1fr 1.5fr auto;
}

.sd-info-btn,
.sd-download-btn,
.sd-menu-btn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #d5dee8;
  background: #ffffff;
  color: #1a2b42;
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.sd-info-btn {
  background: #e8f4fc;
  color: #2563eb;
  border-color: transparent;
}

.sd-batch-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.sd-batch-card {
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  padding: 1.15rem 1.25rem;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
}

.sd-batch-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.sd-batch-card__head h3 {
  margin: 0 0 0.2rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: #1a2b42;
}

.sd-batch-card__head p {
  margin: 0;
  font-size: 0.78rem;
  color: #6b7c93;
}

.sd-batch-card__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.sd-batch-card__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}

.sd-batch-card__stat {
  background: linear-gradient(135deg, #0c1f3d 0%, #1a3352 100%);
  border-radius: 12px;
  padding: 0.75rem 0.9rem;
  color: #ffffff;
}

.sd-batch-card__stat span {
  display: block;
  font-size: 0.68rem;
  opacity: 0.85;
  margin-bottom: 0.25rem;
}

.sd-batch-card__stat strong {
  font-size: 1.25rem;
  font-weight: 700;
}

.sd-batch-card__meta-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.65rem 0.85rem;
  background: #f3f6f9;
  border-radius: 10px;
  font-size: 0.78rem;
  color: #6b7c93;
}

.sd-batch-card__meta-row + .sd-batch-card__meta-row {
  margin-top: 0.5rem;
}

.sd-batch-card__meta-row span:last-child {
  font-weight: 600;
  color: #1a2b42;
}

.sd-schedule {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 1.25rem;
  align-items: start;
}

.sd-calendar {
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  padding: 1rem 1.1rem;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
}

.sd-calendar__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.85rem;
}

.sd-calendar__head h3 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2b42;
}

.sd-calendar__nav {
  display: flex;
  gap: 0.35rem;
}

.sd-calendar__nav button {
  width: 28px;
  height: 28px;
  border: 1px solid #d5dee8;
  border-radius: 8px;
  background: #ffffff;
  cursor: pointer;
  color: #6b7c93;
}

.sd-calendar__weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.25rem;
  margin-bottom: 0.5rem;
  font-size: 0.62rem;
  font-weight: 600;
  color: #6b7c93;
  text-align: center;
}

.sd-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.25rem;
  font-size: 0.75rem;
  text-align: center;
  color: #1a2b42;
}

.sd-calendar__day {
  padding: 0.35rem 0;
  border-radius: 50%;
}

.sd-calendar__day--muted {
  color: #b8c5d4;
}

.sd-calendar__day--selected {
  background: #2563eb;
  color: #ffffff;
  font-weight: 700;
}

.sd-calendar__day--has-events:not(.sd-calendar__day--selected) {
  font-weight: 700;
  color: #2563eb;
}

.sd-calendar__grid button.sd-calendar__day {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 1.85rem;
  margin: 0;
  border: none;
  background: transparent;
  font: inherit;
  color: inherit;
  cursor: pointer;
  line-height: 1;
  position: relative;
}

.sd-calendar__grid button.sd-calendar__day.sd-calendar__day--selected {
  background: #2563eb;
  color: #ffffff;
}

.sd-calendar__grid button.sd-calendar__day.sd-calendar__day--has-events::after {
  content: "";
  position: absolute;
  bottom: 0.12rem;
  left: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #2563eb;
  transform: translateX(-50%);
}

.sd-calendar__grid button.sd-calendar__day.sd-calendar__day--selected.sd-calendar__day--has-events::after {
  background: #ffffff;
}

.classroom-detail-schedule-empty {
  margin: 0.75rem 0 0;
  padding: 0.85rem 1rem;
  font-size: 0.875rem;
  color: #6b7c93;
  text-align: center;
  background: #f7fafc;
  border: 1px dashed #dde7f2;
  border-radius: 10px;
}

.sd-timeline {
  position: relative;
  padding-left: 1.5rem;
}

.sd-timeline::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: #dde7f2;
}

.sd-timeline__item {
  position: relative;
  margin-bottom: 0.85rem;
}

.sd-timeline__dot {
  position: absolute;
  left: -1.5rem;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  z-index: 1;
}

.sd-timeline__dot--green {
  background: #22a06b;
}

.sd-timeline__dot--blue {
  background: #3b82c4;
}

.sd-timeline__dot--yellow {
  background: #eab308;
}

.sd-timeline__card {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
}

.sd-timeline__card strong {
  display: block;
  font-size: 0.85rem;
  color: #1a2b42;
}

.sd-timeline__card span {
  font-size: 0.75rem;
  color: #6b7c93;
}

.sd-timeline__card .sd-badge {
  margin-left: auto;
}

.sd-timeline__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #e3f5ec;
  color: #22a06b;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.sd-timeline__icon svg {
  width: 20px;
  height: 20px;
}

.sd-cert-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1.15rem;
}

.sd-cert-summary__card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.1rem;
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
  position: relative;
  overflow: hidden;
}

.sd-cert-summary__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.sd-cert-summary__icon svg {
  width: 22px;
  height: 22px;
  color: #ffffff;
}

.sd-cert-summary__card--valid .sd-cert-summary__icon {
  background: #3b82c4;
}

.sd-cert-summary__card--expiring .sd-cert-summary__icon {
  background: #eab308;
}

.sd-cert-summary__card--expired .sd-cert-summary__icon {
  background: #F15B55;
}

.sd-cert-summary__label {
  display: block;
  font-size: 0.72rem;
  color: #6b7c93;
  margin-bottom: 0.15rem;
}

.sd-cert-summary__value {
  font-size: 1.35rem;
  font-weight: 700;
  color: #1a2b42;
}

.sd-cert-summary__spark {
  position: absolute;
  right: 0.75rem;
  bottom: 0.5rem;
  width: 64px;
  height: 28px;
  opacity: 0.5;
  background: linear-gradient(180deg, transparent, currentColor);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 32'%3E%3Cpath d='M0 24 L20 18 L40 22 L60 8 L80 12' fill='none' stroke='black' stroke-width='3'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
}

.sd-cert-summary__spark--blue {
  color: #3b82c4;
}

.sd-cert-summary__spark--yellow {
  color: #eab308;
}

.sd-cert-summary__spark--red {
  color: #F15B55;
}

.sd-cert-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.85rem;
}

.sd-cert-item {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1rem 1.1rem;
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
}

.sd-cert-item__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  flex-shrink: 0;
  background: #e8f0f8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233b82c4'%3E%3Cpath d='M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z'/%3E%3C/svg%3E") center/22px no-repeat;
}

.sd-cert-item__icon--red {
  background-color: #fde8e8;
}

.sd-cert-item__icon--green {
  background-color: #e3f5ec;
}

.sd-cert-item__icon--purple {
  background-color: #ede9fe;
}

.sd-cert-item strong {
  display: block;
  font-size: 0.85rem;
  color: #1a2b42;
  margin-bottom: 0.15rem;
}

.sd-cert-item span {
  font-size: 0.75rem;
  color: #6b7c93;
}

.sd-cert-item__actions {
  margin-left: auto;
  display: flex;
  gap: 0.35rem;
}

.sd-cert-item__actions button {
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  color: #6b7c93;
  cursor: pointer;
  font-size: 1.1rem;
}

.sd-cert-item__actions button:first-child {
  color: #F15B55;
}

.sd-performance-top {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.sd-score-card {
  background: linear-gradient(135deg, #0c1f3d 0%, #1e3a5f 55%, #2a4d73 100%);
  border-radius: 16px;
  padding: 1.35rem 1.5rem;
  color: #ffffff;
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  overflow: hidden;
  position: relative;
}

.sd-score-card__body {
  flex: 1;
  min-width: 0;
  z-index: 1;
}

.sd-score-card__illustration {
  flex-shrink: 0;
  width: auto;
  max-width: 200px;
  height: auto;
  max-height: 160px;
  object-fit: contain;
  object-position: bottom right;
  align-self: flex-end;
  margin-right: -0.25rem;
  margin-bottom: -0.35rem;
}

.sd-score-card__label {
  display: block;
  font-size: 0.8rem;
  opacity: 0.9;
  margin-bottom: 0.35rem;
}

.sd-score-card__value {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.sd-score-card__level {
  display: block;
  font-size: 0.75rem;
  opacity: 0.85;
  margin-bottom: 0.65rem;
}

.sd-score-card__bar {
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.25);
  overflow: hidden;
  margin-bottom: 0.65rem;
}

.sd-score-card__bar span {
  display: block;
  height: 100%;
  background: #ffffff;
  border-radius: inherit;
}

.sd-score-card__trend {
  font-size: 0.72rem;
  opacity: 0.9;
}

.sd-achievements {
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  padding: 1.15rem 1.25rem;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
}

.sd-achievements h3 {
  margin: 0 0 0.85rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2b42;
}

.sd-achievement {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.65rem;
  align-items: start;
  padding: 0.75rem 0;
}

.sd-achievement + .sd-achievement {
  border-top: 1px solid #edf1f5;
}

.sd-achievement strong {
  display: block;
  font-size: 0.82rem;
  color: #1a2b42;
  margin-bottom: 0.15rem;
}

.sd-achievement span {
  font-size: 0.72rem;
  color: #6b7c93;
}

.sd-achievement time {
  font-size: 0.72rem;
  color: #6b7c93;
  white-space: nowrap;
}

.sd-achievement__icon {
  font-size: 1.1rem;
  line-height: 1;
}

.sd-achievement__icon--gold {
  color: #eab308;
}

.sd-achievement__icon--pink {
  color: #e5534b;
}

.sd-performance-metrics-title {
  margin: 0 0 0.85rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2b42;
}

.sd-metric-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.sd-metric-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.1rem;
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
  position: relative;
  overflow: hidden;
}

.sd-metric-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.sd-metric-card__icon svg {
  width: 22px;
  height: 22px;
  color: #ffffff;
}

.sd-metric-card--red .sd-metric-card__icon {
  background: #e5534b;
}

.sd-metric-card--blue .sd-metric-card__icon {
  background: #3b82c4;
}

.sd-metric-card--green .sd-metric-card__icon {
  background: #22a06b;
}

.sd-metric-card span {
  display: block;
  font-size: 0.72rem;
  color: #6b7c93;
  margin-bottom: 0.15rem;
}

.sd-metric-card strong {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  color: #1a2b42;
  margin-bottom: 0.15rem;
}

.sd-metric-card small {
  font-size: 0.68rem;
  color: #6b7c93;
}

.sd-metric-card__spark {
  position: absolute;
  right: 0.5rem;
  bottom: 0.35rem;
  width: 56px;
  height: 32px;
  opacity: 0.45;
  background: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 32'%3E%3Cpath d='M0 28 L15 20 L30 24 L50 10 L80 14' fill='none' stroke='black' stroke-width='3'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  color: #e5534b;
}

.sd-metric-card__spark--blue {
  color: #3b82c4;
}

.sd-metric-card__spark--green {
  color: #22a06b;
}

@media (max-width: 1200px) {
  .staff-detail__hero {
    grid-template-columns: 1fr;
  }
  .staff-detail__stats {
    grid-template-columns: repeat(3, 1fr);
  }
  .sd-performance-top {
    grid-template-columns: 1fr;
  }
  .sd-metric-cards {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 900px) {
  .staff-detail__stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .sd-batch-grid,
  .sd-cert-grid,
  .sd-cert-summary {
    grid-template-columns: 1fr;
  }
  .sd-schedule {
    grid-template-columns: 1fr;
  }
  .sd-io-list__head,
  .sd-io-list .sd-io-row {
    min-width: 720px;
  }
  .sd-io-list {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 640px) {
  .staff-detail__stats {
    grid-template-columns: 1fr;
  }
  .staff-detail-overview {
    padding: 1rem;
  }
}
.dash-back {
  margin-bottom: 0.75rem;
}

.dash-panel {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

.dash-pay-banner {
  position: relative;
  display: block;
  margin: 1.35rem 0 1.5rem;
  padding: 10px 16px 10px 10px;
  background: #e5534b;
  border-radius: 999px;
  text-decoration: none;
  overflow: visible;
}

.dash-pay-banner__inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.85rem;
  min-height: 74px;
  padding: 0.95rem 12.5rem 0.95rem 1.35rem;
  background: #fff4c8;
  border-radius: 999px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(13, 27, 46, 0.06);
}

.dash-pay-banner__icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #f5c518;
  color: #ffffff;
  font-size: 1.05rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.dash-pay-banner__text {
  min-width: 0;
}

.dash-pay-banner__text strong {
  display: block;
  font-size: 0.98rem;
  font-weight: 700;
  color: #1a2b42;
  margin-bottom: 0.12rem;
}

.dash-pay-banner__text span {
  display: block;
  font-size: 0.8rem;
  color: #6b7c93;
}

.dash-pay-banner__waves {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 46%;
  background: repeating-radial-gradient(ellipse 115% 85% at 100% 50%, transparent 0, transparent 7px, rgba(245, 197, 24, 0.32) 7px, rgba(245, 197, 24, 0.32) 9px);
  opacity: 0.85;
  pointer-events: none;
}

.dash-pay-banner__plane {
  position: absolute;
  right: -6px;
  top: -34px;
  width: 210px;
  height: auto;
  object-fit: contain;
  pointer-events: none;
  z-index: 3;
}

.dash-stats {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.65rem;
  margin-bottom: 1.35rem;
  padding: 12px;
  background: #ffffff;
  border: 1px solid #e4ebf2;
  border-radius: 28px;
  box-shadow: 0 4px 22px rgba(13, 27, 46, 0.06);
}

.dash-stat {
  padding: 5px;
  background: #ffffff;
  border: 1px solid #e4ebf2;
  border-radius: 24px;
  min-width: 0;
}

.dash-stat__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.45rem;
  padding: 1.2rem 0.55rem 1.05rem;
  border-radius: 18px;
  background: #c5d6e6;
  min-height: 132px;
  height: 100%;
}

.dash-stat__inner--primary {
  background: #0c1f3d;
}

.dash-stat__inner--primary .dash-stat__value,
.dash-stat__inner--primary .dash-stat__label {
  color: #ffffff;
}

.dash-stat__inner--primary .dash-stat__label {
  opacity: 0.9;
}

.dash-stat__inner--primary .dash-stat__icon {
  background: #ffffff;
}

.dash-stat__inner--primary .dash-stat__icon img {
  filter: none;
  opacity: 1;
}

.dash-stat__inner:not(.dash-stat__inner--primary) .dash-stat__icon img {
  opacity: 0.9;
}

.dash-stat__value {
  display: block;
  font-size: 1.75rem;
  font-weight: 700;
  color: #0c1f3d;
  line-height: 1.05;
}

.dash-stat__label {
  display: block;
  font-size: 0.74rem;
  font-weight: 500;
  color: rgba(12, 31, 61, 0.72);
  line-height: 1.35;
}

.dash-stat__icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-bottom: 0.1rem;
  box-shadow: 0 2px 8px rgba(13, 27, 46, 0.08);
}

.dash-stat__icon img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.dash-live {
  margin-bottom: 0.75rem;
}
.dash-live .directory {
  margin-bottom: 0.75rem;
}
.dash-live .directory__header--tools-only {
  margin-bottom: 0.65rem;
}

.dash-live__head {
  margin-bottom: 0.75rem;
  margin-left: 1rem;
}

.dash-live__head p {
  margin: 0.2rem 0 0;
  font-size: 0.78rem;
  color: #6b7c93;
}

.dash-live__title {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #F15B55;
}

.dash-live__title img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.dash-live-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.dash-live-list__head,
.dash-live-list__row {
  display: grid;
  grid-template-columns: minmax(210px, 1.85fr) minmax(88px, 0.95fr) minmax(88px, 0.95fr) minmax(96px, 1fr) minmax(88px, 0.85fr) minmax(132px, 140px);
  align-items: center;
  gap: 0.65rem 1rem;
  width: 100%;
  box-sizing: border-box;
}

.dash-live-list__head {
  display: none;
}

.dash-live-list__row {
  display: grid;
  color: inherit;
  text-decoration: none;
  padding: 0.85rem 1.15rem;
  background: #ffffff;
  border: 1px solid #e8edf3;
  border-radius: 20px;
  box-shadow: 0 2px 12px rgba(13, 27, 46, 0.05);
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}

.dash-live-list__row--link:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 28px rgba(13, 27, 46, 0.1);
  border-color: #d7e2ee;
}

.dash-live-list__row--muted {
  opacity: 0.55;
}

.dash-live-list__divider {
  height: 10px;
  margin: 0.45rem 0;
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 10px;
}

.dash-live-list__action-bar {
  display: flex;
  justify-content: flex-end;
  padding: 0.15rem 0.35rem 0.5rem;
}

.dash-live-list__action {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 32px;
  min-width: 0;
}

.dash-live-list__action .dash-btn {
  flex-shrink: 0;
}

.dash-live-list__class {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.dash-live-list__class:hover strong {
  color: #0c1f3d;
}

.dash-live-list__class img {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  object-fit: cover;
  flex-shrink: 0;
}

.dash-live-list__class strong {
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
  color: #1a2b42;
}

.dash-live-list__class span {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.68rem;
  color: #6b7c93;
}

.dash-live-list__field span {
  display: block;
  font-size: 0.62rem;
  color: #6b7c93;
  margin-bottom: 0.12rem;
}

.dash-live-list__field strong {
  font-size: 0.78rem;
  font-weight: 600;
  color: #1a2b42;
}

.dash-live-list__status span:first-child {
  display: block;
  font-size: 0.62rem;
  color: #6b7c93;
  margin-bottom: 0.12rem;
}

.dash-live-status {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
}

.dash-live-status__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}

.dash-live-status--live {
  color: #22a06b;
}

.dash-live-status--live .dash-live-status__dot {
  background: #22a06b;
}

.dash-live-status--scheduled {
  color: #d97706;
}

.dash-live-status--scheduled .dash-live-status__dot {
  background: #d97706;
}

.dash-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.35rem;
}

.dash-page-head__text {
  flex: 1;
  min-width: 200px;
}

.dash-page-head__text h1 {
  margin: 0 0 0.35rem;
  font-size: 1.55rem;
  font-weight: 700;
  color: #1a2b42;
  letter-spacing: -0.02em;
}

.dash-page-head__text p {
  margin: 0;
  font-size: 0.82rem;
  color: #6b7c93;
  max-width: 520px;
  text-transform: none;
}

.dash-page-head__tools {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.dash-page-head__actions {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
  flex-shrink: 0;
}
.dash-page-head__actions .btn--primary,
.dash-page-head__actions .btn--secondary,
.dash-page-head__actions .btn-export,
.dash-page-head__actions .cgi-details-btn,
.dash-page-head__actions .staff-btn--add {
  height: 40px;
  min-height: 40px;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  box-sizing: border-box;
  line-height: 1.2;
  font-size: 0.8125rem;
  font-weight: 600;
}

.dash-alert-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 1.35rem;
}

.dash-alert-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1.1rem 1.2rem;
  border-radius: 20px;
  text-decoration: none;
  color: inherit;
  border: 1px solid #d5dee8;
  background: #ffffff;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
  transition: transform 0.2s, box-shadow 0.2s;
}

.dash-alert-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(13, 27, 46, 0.1);
}

.dash-alert-card__value {
  display: block;
  font-size: 1.65rem;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.1;
}

.dash-alert-card__label {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.72rem;
  color: #6b7c93;
  line-height: 1.35;
}

.dash-alert-card__icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dash-alert-card__icon img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.dash-alert-card--navy {
  background: #0c1f3d;
  border-color: #0c1f3d;
  color: #ffffff;
}

.dash-alert-card--navy .dash-alert-card__value,
.dash-alert-card--navy .dash-alert-card__label {
  color: #ffffff;
}

.dash-alert-card--navy .dash-alert-card__label {
  opacity: 0.88;
}

.dash-alert-card--navy .dash-alert-card__icon {
  background: rgba(255, 255, 255, 0.15);
}

.dash-alert-card--sky {
  background: #e8f2fa;
  border-color: #d5e6f3;
}

.dash-alert-card--peach {
  background: #fff4e8;
  border-color: #ffe2c4;
}

.dash-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1.35rem;
}

.dash-summary-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1.15rem 1.25rem;
  border-radius: 20px;
  min-height: 96px;
}

.dash-summary-card__value {
  display: block;
  font-size: 1.85rem;
  font-weight: 700;
  line-height: 1.1;
}

.dash-summary-card__label {
  display: block;
  margin-top: 0.3rem;
  font-size: 0.75rem;
  line-height: 1.35;
  opacity: 0.92;
}

.dash-summary-card__icon img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}

.dash-summary-card--primary {
  background: #0c1f3d;
  color: #ffffff;
}

.dash-summary-card--sky {
  background: #e8f2fa;
  color: #1a2b42;
}

.dash-summary-card--light {
  background: #f0f5fa;
  color: #1a2b42;
}

.dash-summary--framed {
  gap: 0.65rem;
  padding: 12px;
  background: #ffffff;
  border: 1px solid #e4ebf2;
  border-radius: 28px;
  box-shadow: 0 4px 22px rgba(13, 27, 46, 0.06);
}

.dash-summary--framed .dash-summary-card {
  display: block;
  padding: 5px;
  background: #ffffff;
  border: 1px solid #e4ebf2;
  border-radius: 24px;
  min-height: auto;
  min-width: 0;
  width: 100%;
}

.dash-summary--framed .dash-summary-card__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.45rem;
  padding: 1.2rem 0.75rem 1.05rem;
  border-radius: 18px;
  min-height: 132px;
  width: 100%;
  box-sizing: border-box;
}

.dash-summary--framed .dash-summary-card__inner--primary {
  background: #0c1f3d;
  color: #ffffff;
}

.dash-summary--framed .dash-summary-card__inner--primary .dash-summary-card__label {
  opacity: 0.9;
}

.dash-summary--framed .dash-summary-card__inner--primary-soft {
  background: #1e4976;
}

.dash-summary--framed .dash-summary-card__inner--sky,
.dash-summary--framed .dash-summary-card__inner--light {
  background: #c5d6e6;
  color: #0c1f3d;
}

.dash-summary--framed .dash-summary-card__inner--sky .dash-summary-card__label,
.dash-summary--framed .dash-summary-card__inner--light .dash-summary-card__label {
  color: rgba(12, 31, 61, 0.72);
}

.dash-summary--framed .dash-summary-card__value {
  font-size: 1.75rem;
  line-height: 1.05;
}

.dash-summary--framed .dash-summary-card__label {
  margin-top: 0;
  font-size: 0.74rem;
  font-weight: 500;
}

.dash-summary--framed .dash-summary-card__icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-bottom: 0.1rem;
  box-shadow: 0 2px 8px rgba(13, 27, 46, 0.08);
}

.dash-summary--framed .dash-summary-card__icon img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.dash-records__head,
.dash-records__row {
  display: grid;
  align-items: center;
  gap: 0.65rem 0.75rem;
}

.dash-records__head {
  padding: 0 1rem 0.65rem;
  font-size: 0.68rem;
  font-weight: 600;
  color: #6b7c93;
  text-transform: capitalize;
}

.dash-records__row {
  padding: 0.875rem 1rem;
  margin-bottom: 0.65rem;
  min-height: 64px;
  background: #ffffff;
  border: 1px solid #e8edf3;
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(13, 27, 46, 0.05);
  font-size: 0.78rem;
  line-height: 1.3;
  color: #1a2b42;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.dash-records__row:last-child {
  margin-bottom: 0;
}

.dash-records__row.is-selected {
  border-color: rgba(12, 31, 61, 0.28);
  background: #f5f8fc;
}

.dash-records--schedule,
.dash-records--licenses,
.dash-records--homework,
.dash-records--payment,
.dash-records--reviews {
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 24px;
  padding: 0.9rem;
  overflow: hidden;
}

.dash-records--schedule .dash-records__head,
.dash-records--schedule .dash-records__row {
  grid-template-columns: 36px 0.9fr 0.8fr 1.1fr 0.9fr 0.9fr 1fr 72px 110px;
}

.dash-records--licenses .dash-records__head,
.dash-records--licenses .dash-records__row {
  grid-template-columns: minmax(180px, 1.45fr) 0.7fr 0.9fr 0.9fr 0.75fr 88px 130px;
  min-height: 72px;
}

.dash-records--licenses .dash-records__row--expired {
  background: #fff1f1;
  border-color: rgba(198, 40, 40, 0.45);
  box-shadow: 0 2px 14px rgba(198, 40, 40, 0.12);
}

.dash-records--homework .dash-records__head,
.dash-records--homework .dash-records__row {
  grid-template-columns: 36px 1.1fr 0.55fr 0.75fr 1.1fr 0.85fr 0.85fr 72px 130px;
}

.dash-records--payment .dash-records__head,
.dash-records--payment .dash-records__row {
  grid-template-columns: 36px 1.15fr 0.55fr 0.75fr 0.85fr 0.7fr 0.65fr 80px 130px;
}

.dash-records--reviews .dash-records__head,
.dash-records--reviews .dash-records__row {
  grid-template-columns: minmax(208px, 1.4fr) minmax(140px, 1fr) minmax(120px, 0.95fr) minmax(110px, 0.85fr) minmax(110px, 0.9fr) 90px minmax(140px, auto);
}

.dash-cell-actions {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.dash-cell-actions .dash-btn {
  padding: 0.4rem 0.72rem;
  font-size: 0.68rem;
}

.dash-cell-name {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.dash-cell-name__link {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  color: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
}
.dash-cell-name__link:hover {
  color: #1F4169;
  text-decoration: none;
}
.dash-cell-name__link:hover strong {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.dash-cell-name__link:focus-visible {
  outline: 2px solid rgba(31, 65, 105, 0.35);
  outline-offset: 2px;
  border-radius: 8px;
}

.sf-profile-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
}
.sf-profile-link:hover {
  color: #1F4169;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.dash-cell-name .staff-avatar {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
}

.dash-cell-name img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.dash-cell-name .staff-avatar img {
  width: 100%;
  height: 100%;
}

.dash-cell-name strong {
  display: block;
  font-size: 0.8rem;
  font-weight: 700;
  color: #1a2b42;
}

.dash-cell-name small {
  display: block;
  font-size: 0.68rem;
  color: #6b7c93;
  margin-top: 0.1rem;
}

.dash-cell-stack span {
  display: block;
  font-size: 0.78rem;
  color: #1a2b42;
}

.dash-cell-stack small {
  display: block;
  margin-top: 0.12rem;
  font-size: 0.68rem;
  color: #6b7c93;
}

.dash-cell-stack--topic strong {
  display: block;
  font-size: 0.8rem;
  font-weight: 700;
  color: #1a2b42;
}

.dash-days {
  font-weight: 700;
  font-size: 0.78rem;
}

.dash-days--critical {
  color: #c62828;
}

.dash-days--high {
  color: #d97706;
}

.dash-days--expired {
  color: #9b1c1c;
}

.dash-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 600;
  white-space: nowrap;
}

.dash-badge--critical {
  background: #fde8e8;
  color: #c62828;
}

.dash-badge--high {
  background: #fff0e0;
  color: #d97706;
}

.dash-badge--pending {
  background: #fff0d4;
  color: #c47d00;
}

.dash-badge--accepted {
  background: #e3f5ec;
  color: #22a06b;
}

.dash-badge--expired {
  background: #c62828;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(198, 40, 40, 0.28);
}

.dash-badge--expiring {
  background: #fff0e0;
  color: #d97706;
}

.dash-badge--medium {
  background: #fff0e0;
  color: #d97706;
}

.dash-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  border: 1.5px solid transparent;
  white-space: nowrap;
  transition: background 0.2s, border-color 0.2s;
}

.dash-btn svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.dash-btn--view {
  background: #ffffff;
  color: #0c1f3d;
  border-color: #b8c5d4;
}

.dash-btn--navy {
  background: #0c1f3d;
  color: #ffffff;
  border-color: #0c1f3d;
}

.dash-btn--navy-soft {
  background: #1e4976;
  border-color: #1e4976;
}

.dash-btn--red {
  background: #F15B55;
  color: #ffffff;
  border-color: #F15B55;
}

.dash-btn--muted {
  background: #eef2f6;
  color: #9aa8b8;
  border-color: #e2e8ef;
  cursor: not-allowed;
}

.dash-btn--pending {
  background: #fff0d4;
  color: #c47d00;
  border-color: #ffe4a8;
  min-width: 96px;
}

.dash-notice--top {
  margin-bottom: 1.25rem;
}
.dash-notice__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.1rem;
}
.dash-notice__head img {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}
.dash-notice__head h2 {
  margin: 0 0 0.2rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #1a2b42;
}
.dash-notice__head p {
  margin: 0;
  font-size: 0.78rem;
  color: #6b7c93;
}
.dash-notice__head-text {
  flex: 1;
  min-width: 0;
}
.dash-notice__view-all {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-left: auto;
  flex-shrink: 0;
  padding: 0.55rem 1rem 0.55rem 1.1rem;
  border-radius: 999px;
  border: 1.5px solid #c5d0de;
  background: #ffffff;
  font-size: 0.78rem;
  font-weight: 700;
  color: #0c1f3d;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 2px 10px rgba(12, 31, 61, 0.08);
  transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.dash-notice__view-all svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.dash-notice__view-all:hover {
  background: #eaf4fb;
  border-color: rgba(12, 31, 61, 0.35);
  box-shadow: 0 4px 14px rgba(12, 31, 61, 0.1);
}
.dash-notice__tabs {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 1rem;
  border-bottom: 0;
  box-shadow: none;
  flex-wrap: wrap;
  padding-bottom: 0;
  overflow-x: visible;
  overscroll-behavior-x: auto;
  scrollbar-width: none;
}
.dash-notice__tabs::-webkit-scrollbar {
  display: none;
}
.dash-notice__tab {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #f3f6fa;
  border: 1px solid #e4eaf1;
  padding: 0.2rem 0.3rem 0.2rem 0.85rem;
  border-radius: 999px;
  font-family: inherit;
  font-size: 0.8rem;
  font-weight: 600;
  color: #6b7c93;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.dash-notice__tab:hover:not(.dash-notice__tab--active) {
  background: #eef2f7;
  border-color: #d5dde8;
}
.dash-notice__tab--active {
  color: #ffffff;
  background: #0c1f3d;
  border-color: #0c1f3d;
  box-shadow: 0 4px 14px rgba(12, 31, 61, 0.22);
}
.dash-notice__tab--active::after {
  display: none;
}
.dash-notice__tab--active .dash-notice__tab-count {
  background: #ffffff;
  color: #0c1f3d;
  box-shadow: none;
}
.dash-notice__tab-label {
  line-height: 1;
}
.dash-notice__tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.55rem;
  height: 1.55rem;
  padding: 0 0.4rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.01em;
  background: #F15B55;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(241, 91, 85, 0.35);
}
.dash-notice__scroll-wrap {
  position: relative;
  border-radius: 18px;
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border: 1px solid #e4eaf1;
  overflow: hidden;
}
.dash-notice__scroll-wrap::before, .dash-notice__scroll-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 36px;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.dash-notice__scroll-wrap::before {
  top: 0;
  background: linear-gradient(to bottom, #f8fafc 0%, rgba(248, 250, 252, 0));
}
.dash-notice__scroll-wrap::after {
  bottom: 0;
  background: linear-gradient(to top, #f1f5f9 0%, rgba(241, 245, 249, 0));
}
.dash-notice__scroll-wrap--can-scroll::after {
  opacity: 1;
}
.dash-notice__scroll-wrap--scrolled::before {
  opacity: 1;
}
.dash-notice__scroll-wrap--at-end::after {
  opacity: 0;
}
.dash-notice__panels--scroll {
  max-height: 430px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0.9rem 0.5rem 0.9rem 1rem;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(12, 31, 61, 0.28) transparent;
}
.dash-notice__panels--scroll::-webkit-scrollbar {
  width: 6px;
}
.dash-notice__panels--scroll::-webkit-scrollbar-track {
  background: transparent;
  margin: 10px 0;
}
.dash-notice__panels--scroll::-webkit-scrollbar-thumb {
  background: rgba(12, 31, 61, 0.22);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
.dash-notice__panels--scroll::-webkit-scrollbar-thumb:hover {
  background: rgba(12, 31, 61, 0.38);
  background-clip: padding-box;
}
.dash-notice__panels--scroll .dash-notice__item {
  background: #ffffff;
  box-shadow: 0 1px 4px rgba(12, 31, 61, 0.04);
}
.dash-notice__type {
  display: inline-block;
  margin-bottom: 0.25rem;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.dash-notice__type--class {
  background: #e0f2fe;
  color: #0369a1;
}
.dash-notice__type--exam {
  background: #ede9fe;
  color: #5b21b6;
}
.dash-notice__type--homework {
  background: #fff7ed;
  color: #c2410c;
}
.dash-notice__type--certificate, .dash-notice__type--license {
  background: #fef3c7;
  color: #b45309;
}
.dash-notice__type--doubt {
  background: #e3f5ec;
  color: #15803d;
}
.dash-notice__type--progress-review {
  background: #f3e8ff;
  color: #7c3aed;
}
.dash-notice__type--class-schedule {
  background: #dbeafe;
  color: #1d4ed8;
}
.dash-notice__alert-badge {
  flex-shrink: 0;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
}
.dash-notice__alert-badge--red {
  background: #fee2e2;
  color: #b91c1c;
}
.dash-notice__alert-badge--yellow {
  background: #fef3c7;
  color: #b45309;
}
.dash-notice__alert-badge--green {
  background: #e3f5ec;
  color: #15803d;
}
.dash-notice__meta--inline {
  align-self: center;
}
.dash-notice__item--alert {
  border-color: rgba(12, 31, 61, 0.08);
}
.dash-notice__item--overdue {
  background: #fffafa;
  border-color: #fecaca;
}
.dash-notice__item--warning {
  background: #fffdf5;
  border-color: #fde68a;
}
.dash-notice__panel[hidden] {
  display: none;
}
.dash-notice__meta-empty {
  visibility: hidden;
}
.dash-notice__item {
  border: 1px solid #e8edf3;
  border-radius: 18px;
  padding: 1rem 1.15rem;
  margin-bottom: 0.75rem;
  background: #fafbfd;
}
.dash-notice__item:last-child {
  margin-bottom: 0;
}
.dash-notice__item-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}
.dash-notice__item-title strong {
  display: block;
  font-size: 0.88rem;
  font-weight: 700;
  color: #1a2b42;
}
.dash-notice__item-title span:not(.dash-notice__type) {
  display: block;
  font-size: 0.72rem;
  color: #6b7c93;
}
.dash-notice__class {
  margin-top: 0.12rem;
}
.dash-notice__instructor {
  margin-top: 0.08rem;
}
.dash-notice__meta {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  align-items: center;
}
.dash-notice__meta div span {
  display: block;
  font-size: 0.65rem;
  color: #6b7c93;
  margin-bottom: 0.15rem;
}
.dash-notice__meta div strong {
  font-size: 0.78rem;
  color: #1a2b42;
}
.dash-notice__item-foot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  flex-wrap: wrap;
  padding-top: 0.85rem;
  border-top: 1px solid #edf1f5;
  font-size: 0.72rem;
  color: #6b7c93;
}
.dash-notice__item-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.dash-notice__date {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-left: auto;
}
.dash-notice__date svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  opacity: 0.7;
}
@media (min-width: 769px) {
  .dash-notice__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px 270px;
    column-gap: 1rem;
    row-gap: 0.3rem;
    align-items: center;
    padding: 0.82rem 1.05rem;
    margin-bottom: 0.62rem;
  }
  .dash-notice__item-top, .dash-notice__item-foot {
    display: contents;
  }
  .dash-notice__item-title {
    grid-column: 1;
    grid-row: 1/span 2;
    min-width: 0;
    align-self: center;
  }
  .dash-notice__item-title strong {
    margin-bottom: 0.12rem;
  }
  .dash-notice__meta {
    grid-column: 2;
    grid-row: 1/span 2;
    align-self: center;
    justify-self: center;
    justify-content: center;
    margin: 0;
    gap: 4rem;
    text-align: center;
  }
  .dash-notice__meta div {
    text-align: center;
  }
  .dash-notice__alert-badge {
    grid-column: 2;
    grid-row: 1/span 2;
    align-self: center;
    justify-self: center;
  }
  .dash-notice__item:has(.dash-notice__meta):has(.dash-notice__alert-badge) .dash-notice__meta {
    grid-row: 1;
    align-self: end;
  }
  .dash-notice__item:has(.dash-notice__meta):has(.dash-notice__alert-badge) .dash-notice__alert-badge {
    grid-row: 2;
    align-self: start;
  }
  .dash-notice__date {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    align-self: end;
    margin-left: 0;
    white-space: nowrap;
    text-align: right;
  }
  .dash-notice__item-actions {
    grid-column: 3;
    grid-row: 2;
    justify-self: end;
    align-self: start;
    margin: 0;
    gap: 0.42rem;
  }
}

.dash-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, 1fr);
  gap: 1.25rem;
  margin-top: 1.5rem;
  align-items: start;
}

.dash-notice,
.dash-pending {
  background: #ffffff;
  border: 1px solid #e8edf3;
  border-radius: 24px;
  padding: 1.35rem 1.4rem 1.4rem;
  box-shadow: 0 2px 12px rgba(13, 27, 46, 0.04);
}

.dash-pending__head {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin-bottom: 1rem;
}

.dash-pending__head h2 {
  margin: 0 0 0.2rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #1a2b42;
}

.dash-pending__head p {
  margin: 0;
  font-size: 0.78rem;
  color: #6b7c93;
  text-transform: none;
}

.dash-pending__head-icon {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #F15B55;
}

.dash-pending__head-icon svg {
  width: 22px;
  height: 22px;
}

.dash-pending__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.dash-pending__item {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 0.55rem 0.75rem;
  padding: 0.9rem 1rem;
  background: #fafbfd;
  border: 1px solid #e8edf3;
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(13, 27, 46, 0.04);
}

.dash-pending__icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dash-pending__icon img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.dash-pending__icon--blue {
  background: #e8f2fa;
}

.dash-pending__icon--red {
  background: #ffecec;
}

.dash-pending__icon--green {
  background: #e8f8ef;
}

.dash-pending__icon--purple {
  background: #f0e8fa;
}

.dash-pending__icon--plain {
  background: #ffffff;
  border: 1px solid #e8edf3;
}

.dash-pending__icon--plain img {
  width: 24px;
  height: 24px;
}

.dash-pending__label {
  font-size: 0.82rem;
  font-weight: 600;
  color: #1a2b42;
  min-width: 0;
}

.dash-pending__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 26px;
  padding: 0 0.45rem;
  border-radius: 999px;
  background: #fce8ea;
  color: #F15B55;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
}

.dash-pending__btn {
  min-width: 72px;
  padding: 0.42rem 0.85rem;
}

.dash-live-hero {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1rem 1.15rem;
  border: 1px solid #e8edf3;
  border-radius: 18px;
  margin-bottom: 1.25rem;
}

.dash-live-hero__thumb {
  width: 72px;
  height: 72px;
  border-radius: 14px;
  object-fit: cover;
  flex-shrink: 0;
}

.dash-live-hero__main {
  flex: 1;
  min-width: 200px;
}

.dash-live-hero__title-row {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
  margin-bottom: 0.35rem;
}

.dash-live-hero__title-row h2 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1a2b42;
}

.dash-live-hero__meta {
  font-size: 0.75rem;
  color: #6b7c93;
}

.dash-live-hero__meta span + span::before {
  content: " Â· ";
}

.dash-live-hero__elapsed {
  font-size: 0.78rem;
  font-weight: 600;
  color: #F15B55;
  white-space: nowrap;
}

.dash-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  background: #e3f5ec;
  color: #22a06b;
  font-size: 0.68rem;
  font-weight: 600;
}

.dash-live-badge::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

.dash-live-layout {
  display: grid;
  grid-template-columns: 1.4fr 0.85fr;
  gap: 1rem;
  align-items: start;
}

.dash-live-students {
  border: 1px solid #e8edf3;
  border-radius: 18px;
  padding: 1rem 1.1rem;
}

.dash-live-students__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.dash-live-students__head h3 {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  color: #1a2b42;
}

.dash-live-students__head a {
  font-size: 0.72rem;
  font-weight: 600;
  color: #F15B55;
  text-decoration: none;
}

.dash-live-students__table-head,
.dash-live-students__row {
  display: grid;
  grid-template-columns: 1.4fr 0.8fr 0.75fr 0.9fr 100px;
  gap: 0.5rem;
  align-items: center;
}

.dash-live-students__table-head {
  font-size: 0.65rem;
  font-weight: 600;
  color: #6b7c93;
  padding: 0 0.25rem 0.5rem;
}

.dash-live-students__row {
  padding: 0.55rem 0.25rem;
  border-top: 1px solid #edf1f5;
  font-size: 0.75rem;
}

.dash-side-card {
  border: 1px solid #e8edf3;
  border-radius: 18px;
  padding: 1rem 1.1rem;
  margin-bottom: 1rem;
}

.dash-side-card:last-child {
  margin-bottom: 0;
}

.dash-side-card h3 {
  margin: 0 0 0.85rem;
  font-size: 0.88rem;
  font-weight: 700;
  color: #1a2b42;
}

.dash-side-card__profile {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 0.85rem;
}

.dash-side-card__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #e8f2fa;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #0c1f3d;
  flex-shrink: 0;
}

.dash-side-card__name strong {
  display: block;
  font-size: 0.82rem;
  color: #1a2b42;
}

.dash-side-card__name span {
  font-size: 0.72rem;
  color: #F15B55;
  font-weight: 600;
}

.dash-side-card__rating {
  font-size: 0.78rem;
  font-weight: 700;
  color: #1a2b42;
  margin-bottom: 0.75rem;
}

.dash-side-card__rating img {
  width: 14px;
  height: 14px;
  vertical-align: -2px;
  margin-left: 0.15rem;
}

.dash-side-card__field {
  margin-bottom: 0.55rem;
}

.dash-side-card__field span {
  display: block;
  font-size: 0.62rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #6b7c93;
  margin-bottom: 0.12rem;
}

.dash-side-card__field strong {
  font-size: 0.75rem;
  color: #1a2b42;
  font-weight: 600;
}

.dash-side-card__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem 0.75rem;
  margin-bottom: 0.75rem;
}

.dash-side-card__module {
  padding-top: 0.65rem;
  border-top: 1px solid #edf1f5;
  font-size: 0.75rem;
  color: #6b7c93;
}

.dash-side-card__module strong {
  display: block;
  margin-top: 0.15rem;
  color: #1a2b42;
  font-weight: 600;
}

.dash-present-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 600;
}

.dash-present-badge--present {
  background: #e3f5ec;
  color: #22a06b;
}

.dash-present-badge--absent {
  background: #fde8e8;
  color: #c62828;
}

.dash-class-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1.15rem 1.2rem;
  border: 1px solid #e8edf3;
  border-radius: 18px;
  margin-bottom: 1rem;
}
@media (max-width: 991.98px) {
  .dash-class-hero {
    flex-direction: column;
    align-items: stretch;
    padding: 1rem;
    gap: 0.85rem;
  }
}

.dash-class-hero__left {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
  flex: 1;
  min-width: 240px;
}
@media (max-width: 991.98px) {
  .dash-class-hero__left {
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    width: 100%;
    gap: 0.85rem;
  }
}

.dash-class-hero__class {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  min-width: 180px;
}
@media (max-width: 991.98px) {
  .dash-class-hero__class {
    min-width: 0;
    width: 100%;
  }
}

.dash-class-hero__divider {
  width: 1px;
  height: 52px;
  background: #e8edf3;
  flex-shrink: 0;
}
@media (max-width: 991.98px) {
  .dash-class-hero__divider {
    width: 100%;
    height: 1px;
  }
}

.dash-class-hero__icon {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: #fff4f4;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dash-class-hero__icon img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.dash-class-hero__info {
  min-width: 140px;
}
@media (max-width: 991.98px) {
  .dash-class-hero__info {
    min-width: 0;
  }
}

.dash-class-hero__info h1 {
  margin: 0 0 0.15rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1a2b42;
  letter-spacing: -0.02em;
}

.dash-class-hero__info p {
  margin: 0;
  font-size: 0.72rem;
  color: #6b7c93;
}

.dash-class-hero__captain {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  min-width: 220px;
}
@media (max-width: 991.98px) {
  .dash-class-hero__captain {
    min-width: 0;
    width: 100%;
  }
}

.dash-class-hero__captain-icon {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dash-class-hero__captain-icon img {
  width: 52px;
  height: 52px;
  object-fit: contain;
}

.dash-class-hero__captain-info {
  line-height: 1.25;
}

.dash-class-hero__captain-info strong {
  display: block;
  font-size: 0.92rem;
  font-weight: 700;
  color: #1a2b42;
}

.dash-class-hero__captain-info small {
  display: block;
  font-size: 0.68rem;
  color: #6b7c93;
  margin-top: 0.05rem;
}

.dash-class-hero__status {
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  background: #e3f5ec;
  color: #22a06b;
  white-space: nowrap;
}
.dash-class-hero__status--completed {
  background: #e8edf2;
  color: #6b7c93;
}

.dash-class-hero__actions {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}
@media (max-width: 991.98px) {
  .dash-class-hero__actions {
    width: 100%;
  }
}

.dash-class-hero__edit {
  min-width: 140px;
  padding: 0.6rem 1.2rem;
  text-decoration: none;
}
@media (max-width: 991.98px) {
  .dash-class-hero__edit {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: center;
  }
}

.dash-class-hero__join {
  min-width: 160px;
  padding: 0.6rem 1.2rem;
}
@media (max-width: 991.98px) {
  .dash-class-hero__join {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: center;
  }
}

.dash-class-chips {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.75rem;
}
@media (max-width: 1399.98px) {
  .dash-class-chips {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 991.98px) {
  .dash-class-chips {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .dash-class-chips {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991.98px) {
  body[data-page="dashboard-class-detail.html"] .fto-admin-scope .content {
    margin-left: 1.15rem;
    margin-right: 1.15rem;
    padding-left: 1.35rem;
    padding-right: 1.35rem;
  }
  body[data-page="dashboard-class-detail.html"] .dash-panel {
    padding-left: 0;
    padding-right: 0;
  }
  body[data-page="dashboard-class-detail.html"] .dash-class-students-directory.directory {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  body[data-page="dashboard-class-detail.html"] .dash-back {
    width: auto;
    max-width: 100%;
  }
  body[data-page="dashboard-class-detail.html"] .dash-back .btn--back,
  body[data-page="dashboard-class-detail.html"] .btn.btn--back {
    display: inline-flex;
    width: auto;
    max-width: max-content;
    flex: 0 0 auto;
  }
}
@media (max-width: 575.98px) {
  body[data-page="dashboard-class-detail.html"] .fto-admin-scope .content {
    margin-left: 1rem;
    margin-right: 1rem;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
  }
  body[data-page="dashboard-class-detail.html"] .dash-class-students-directory.directory {
    padding-left: 0.9rem;
    padding-right: 0.9rem;
  }
  body[data-page="dashboard-class-detail.html"] .cgi-feedback-records.dash-class-students-table .cgi-feedback-row {
    padding-left: 1.1rem;
    padding-right: 1.1rem;
  }
}
.dash-class-students-directory.directory {
  margin-top: 0;
  overflow: visible;
}
.dash-class-students-directory.directory .directory__header {
  margin-bottom: 1.15rem;
}
.dash-class-students-directory.directory .directory__header h2 {
  margin: 0 0 0.25rem;
  overflow: visible;
}
.dash-class-students-directory.directory .directory__header p {
  margin: 0;
  overflow: visible;
}

.cgi-feedback-records.dash-class-students-table {
  overflow-x: auto;
  max-width: 100%;
}
@media (min-width: 1101px) {
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-records__head,
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-row {
    grid-template-columns: 52px minmax(0, 1.2fr) minmax(0, 0.85fr) minmax(0, 0.85fr) minmax(0, 1.05fr) minmax(0, 0.85fr) 120px;
    min-width: 850px;
  }
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-records__head > *:nth-child(-n+5),
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-records__head > *:nth-child(-n+5) .sa-directory-sort-btn,
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-row > *:nth-child(-n+5) {
    justify-content: flex-start;
    text-align: left;
  }
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-records__head > *:nth-child(n+6),
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-records__head > *:nth-child(n+6) .sa-directory-sort-btn,
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-row > *:nth-child(n+6) {
    justify-content: center;
    text-align: center;
  }
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-row__action {
    justify-content: center;
  }
}
.cgi-feedback-records.dash-class-students-table .cgi-feedback-row {
  box-shadow: none;
}
.cgi-feedback-records.dash-class-students-table .cgi-feedback-row__sl {
  font-weight: 500;
}
.cgi-feedback-records.dash-class-students-table .sa-directory-sort-btn--active {
  color: inherit;
}
.cgi-feedback-records.dash-class-students-table .sa-directory-sort-btn--active .sa-directory-sort-btn__icon {
  color: rgba(12, 31, 61, 0.48);
}
.cgi-feedback-records.dash-class-students-table .cgi-feedback-row__name .dash-class-student-link {
  color: inherit;
  text-decoration: none;
}
.cgi-feedback-records.dash-class-students-table .cgi-feedback-row__name .dash-class-student-link strong {
  font-weight: 500;
  color: #1a2b42;
}
.cgi-feedback-records.dash-class-students-table .cgi-feedback-row:last-child {
  margin-bottom: 0;
}
@media (max-width: 1100px) {
  .cgi-feedback-records.dash-class-students-table {
    overflow-x: visible;
  }
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-records__head {
    display: none !important;
  }
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-records__head,
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-row {
    min-width: 0 !important;
    max-width: 100%;
    width: 100%;
    grid-template-columns: 1fr;
  }
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-row {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
    padding: 1rem;
    margin-bottom: 0.75rem;
  }
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-row > [data-label] {
    display: flex !important;
    flex-direction: row;
    justify-content: space-between !important;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    text-align: right !important;
  }
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-row > [data-label]::before {
    content: attr(data-label);
    font-size: 0.6875rem;
    font-weight: 600;
    color: #6b7c93;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    flex-shrink: 0;
    text-align: left;
  }
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-row__name {
    justify-content: space-between !important;
  }
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-row__name .dash-class-student-link {
    margin-left: auto;
    text-align: right;
  }
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-row__action {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    text-align: left !important;
  }
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-row__action .dash-btn,
  .cgi-feedback-records.dash-class-students-table .cgi-feedback-row__action .cgi-feedback-btn {
    margin-left: auto;
    width: auto !important;
    flex-shrink: 0;
    min-width: 7.5rem;
  }
  .cgi-feedback-records.dash-class-students-table .dash-class-status {
    margin-left: auto;
  }
}

.dash-class-chip {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid #e8edf3;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 2px 12px rgba(13, 27, 46, 0.05);
  min-height: 60px;
  min-width: 0;
}

.dash-class-chip__body {
  flex: 1;
  min-width: 0;
}

.dash-class-chip__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
}

.dash-class-chip__icon img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.dash-class-chip span {
  display: block;
  font-size: 0.62rem;
  color: #6b7c93;
  margin-bottom: 0.15rem;
}

.dash-class-chip strong {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.3;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.dash-class-chip strong[data-class-detail-time] {
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
}

.dash-class-records__head,
.dash-class-records__row {
  display: grid;
  grid-template-columns: 46px 1.2fr 0.9fr 0.75fr 0.85fr 1fr 0.75fr 120px;
  align-items: center;
  gap: 0.65rem 0.75rem;
}

.dash-class-records__head {
  padding: 0 1rem 0.55rem;
  font-size: 0.65rem;
  font-weight: 600;
  color: #6b7c93;
}

.dash-class-records__row {
  padding: 0.75rem 1rem;
  margin-bottom: 0.55rem;
  background: #ffffff;
  border: 1px solid #e8edf3;
  border-radius: 18px;
  box-shadow: 0 2px 12px rgba(13, 27, 46, 0.05);
  font-size: 0.78rem;
}

.dash-class-records__row:last-child {
  margin-bottom: 0;
}

.dash-class-records__row strong {
  font-size: 0.8rem;
  font-weight: 700;
  color: #1a2b42;
}

.dash-class-records .dash-class-student-link {
  color: inherit;
  text-decoration: none;
}

.dash-class-records .dash-class-student-link:hover strong {
  color: #0c1f3d;
}

.dash-class-records__time {
  color: #6b7c93;
}

.dash-class-records__time--warn {
  color: #d97706;
  font-weight: 600;
}

.dash-class-records__time--late {
  color: #F15B55;
  font-weight: 600;
}

.dash-class-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 600;
  white-space: nowrap;
}

.dash-class-status--joined {
  background: #e3f5ec;
  color: #22a06b;
}

.dash-class-status--pending {
  background: #fff0e0;
  color: #d97706;
}

.dash-class-status--not-joined {
  background: #eef2f6;
  color: #8a9bb0;
}

.dash-monitor-modal {
  width: 100%;
  max-width: 520px;
}

.dash-monitor-modal__field {
  text-align: left;
  margin: 1rem 0 1.35rem;
}

.dash-monitor-modal__field label {
  display: block;
  font-size: 0.72rem;
  color: #6b7c93;
  margin-bottom: 0.4rem;
}

.dash-monitor-modal__input-wrap {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid #d5dee8;
  border-radius: 14px;
  background: #f8fafc;
}

.dash-monitor-modal__input-wrap input {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 0.75rem;
  color: #6b7c93;
  font-family: inherit;
  min-width: 0;
}

.dash-monitor-modal__input-wrap button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: #e5534b;
  flex-shrink: 0;
}

.dash-monitor-modal__input-wrap button svg {
  width: 18px;
  height: 18px;
}

.dash-dialog-send {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: min(280px, 100%);
  margin: 1.25rem auto 0;
  text-decoration: none;
}

@media (max-width: 1200px) {
  .dash-stats {
    grid-template-columns: repeat(3, 1fr);
  }
  .dash-alert-cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .dash-records--schedule .dash-records__head,
  .dash-records--schedule .dash-records__row,
  .dash-records--homework .dash-records__head,
  .dash-records--homework .dash-records__row,
  .dash-records--payment .dash-records__head,
  .dash-records--payment .dash-records__row,
  .dash-records--reviews .dash-records__head,
  .dash-records--reviews .dash-records__row {
    min-width: 960px;
  }
}
@media (max-width: 1200px) and (min-width: 1101px) {
  .dash-records--licenses .dash-records__head,
  .dash-records--licenses .dash-records__row {
    min-width: 960px;
  }
}
@media (max-width: 1200px) {
  .dash-records {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .dash-bottom {
    grid-template-columns: 1fr;
  }
  .dash-live-layout {
    grid-template-columns: 1fr;
  }
  .dash-class-records__head,
  .dash-class-records__row {
    min-width: 980px;
  }
  .dash-class-records {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1100px) {
  .dash-live-list {
    overflow-x: visible;
  }
  .dash-live-list__head {
    display: none;
  }
  .dash-live-list__head,
  .dash-live-list__row {
    min-width: 0;
  }
  .dash-live-list__row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
  }
  .dash-live-list__field,
  .dash-live-list__status,
  .dash-live-list__action {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
  }
  .dash-live-list__field::before,
  .dash-live-list__status::before,
  .dash-live-list__action::before {
    content: attr(data-label);
    font-size: 0.65rem;
    font-weight: 600;
    color: #6b7c93;
    text-transform: uppercase;
    flex-shrink: 0;
  }
  .dash-live-list__field span {
    display: none;
  }
  .dash-live-list__status > span:first-child {
    display: none;
  }
  .dash-live-list__action .dash-btn {
    flex-shrink: 0;
  }
  .dash-notice--top .dash-notice__head {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .dash-notice--top .dash-notice__view-all {
    margin-left: 0;
    margin-top: 0.35rem;
    width: 100%;
    justify-content: center;
  }
  .dash-notice__tabs {
    justify-content: flex-start;
    gap: 0.55rem;
    overflow-x: visible;
  }
  .dash-notice__panels--scroll {
    max-height: 300px;
    padding: 0.75rem 0.35rem 0.75rem 0.75rem;
  }
  .dash-notice__item-top {
    flex-direction: column;
    gap: 0.75rem;
  }
  .dash-notice__meta {
    width: 100%;
    gap: 1rem;
  }
  .dash-page-head {
    flex-direction: column;
    align-items: stretch;
  }
  .dash-page-head__tools {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .dash-page-head__tools .directory__search {
    width: 100%;
    min-width: 0;
  }
  .dash-page-head__tools .btn--filter {
    width: 100%;
    justify-content: center;
  }
  .dash-records--reviews {
    overflow-x: visible;
  }
  .dash-records--reviews .dash-records__head {
    display: none;
  }
  .dash-records--reviews .dash-records__head,
  .dash-records--reviews .dash-records__row {
    min-width: 0;
  }
  .dash-records--reviews .dash-records__row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    border-radius: 16px;
    margin-bottom: 0.65rem;
  }
  .dash-records--reviews .dash-records__row > [data-label] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%;
  }
  .dash-records--reviews .dash-records__row > [data-label]::before {
    content: attr(data-label);
    font-size: 11px;
    font-weight: 600;
    color: #6b7c93;
    text-transform: uppercase;
    flex-shrink: 0;
  }
  .dash-records--reviews .dash-cell-name {
    justify-content: flex-end;
  }
  .dash-records--reviews .dash-cell-stack {
    text-align: right;
  }
  .dash-records--reviews .dash-cell-actions {
    justify-content: flex-end;
  }
  .dash-records--reviews .dash-cell-actions::before {
    align-self: flex-start;
  }
  .dash-records--reviews .dash-cell-actions .dash-btn {
    width: auto;
    white-space: nowrap;
  }
}
@media (max-width: 768px) {
  .dash-stats {
    grid-template-columns: 1fr 1fr;
  }
  .dash-pay-banner__plane {
    width: 160px;
    right: -4px;
    top: -26px;
  }
  .dash-pay-banner__inner {
    padding-right: 9rem;
    min-height: 68px;
  }
  .dash-alert-cards,
  .dash-summary {
    grid-template-columns: 1fr;
  }
  .dash-panel {
    padding: 0;
  }
  .dash-notice__item-foot {
    flex-direction: column;
    align-items: stretch;
    gap: 0.85rem;
  }
  .dash-notice__item-actions {
    width: 100%;
  }
  .dash-notice__item-actions .dash-btn {
    flex: 1 1 calc(50% - 0.25rem);
    justify-content: center;
    min-width: 0;
  }
  .dash-pending__item {
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto auto;
  }
  .dash-pending__btn {
    grid-column: 1/-1;
    width: 100%;
    margin-top: 0.25rem;
  }
}
@media (max-width: 575px) {
  .dash-stats {
    grid-template-columns: 1fr;
  }
  .dash-pay-banner {
    border-radius: 24px;
    padding: 8px 10px 8px 8px;
    margin-top: 1rem;
  }
  .dash-pay-banner__plane {
    width: 130px;
    right: -2px;
    top: -20px;
  }
  .dash-pay-banner__inner {
    min-height: auto;
    padding: 0.85rem 7.5rem 0.85rem 1rem;
    border-radius: 20px;
  }
  .dash-pay-banner__waves {
    width: 28%;
  }
  .dash-stat__inner {
    min-height: auto;
    padding: 0.85rem 0.95rem;
  }
  .dash-stat__value {
    font-size: 1.35rem;
  }
  .dash-live-list__class img {
    width: 42px;
    height: 42px;
  }
  .dash-live-list__action {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
  .dash-live-list__action .dash-btn {
    width: 100%;
    justify-content: center;
  }
  .dash-notice__tabs {
    gap: 0.45rem;
  }
  .dash-notice__tab {
    font-size: 0.76rem;
    padding: 0.4rem 0.6rem 0.4rem 0.75rem;
    white-space: nowrap;
  }
  .dash-notice__tab-count {
    min-width: 1.45rem;
    height: 1.45rem;
    font-size: 0.66rem;
  }
  .dash-notice__item-actions {
    flex-direction: column;
  }
  .dash-notice__item-actions .dash-btn {
    flex: none;
    width: 100%;
  }
  .dash-pending__item {
    padding: 0.75rem 0.85rem;
  }
  .dash-bottom {
    gap: 1rem;
    margin-top: 1.25rem;
  }
}
.dash-records--notifications .dash-records__head,
.dash-records--notifications .dash-records__row {
  grid-template-columns: minmax(140px, 1.15fr) 0.95fr 0.85fr 0.55fr 0.7fr 0.8fr 0.72fr minmax(190px, 1.2fr);
}

.dash-badge--published {
  background: #e3f5ec;
  color: #22a06b;
}

.dash-badge--scheduled {
  background: #e8f2fa;
  color: #0c1f3d;
}

.dash-badge--draft {
  background: #eef2f6;
  color: #6b7c93;
}

.notify-type {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 600;
  white-space: nowrap;
  background: #eef2f6;
  color: #1a2b42;
}

@keyframes fto-notify-warn-pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.08);
  }
}
.notify-type--schedule,
.notify-type--class-scheduled {
  background: #e8f2fa;
  color: #0c1f3d;
}

.notify-type--exam,
.notify-type--exam-scheduled {
  background: #fff0e0;
  color: #d97706;
}

.notify-type--homework {
  background: #f3e8ff;
  color: #7c3aed;
}

.notify-type--doubt,
.notify-type--review,
.notify-type--review-reminder {
  background: #fff0d4;
  color: #c47d00;
}

.notify-type--certificate {
  background: #fde8e8;
  color: #c62828;
}

.notify-type--general,
.notify-type--manual,
.notify-type--manual-notice-board {
  background: #e3f5ec;
  color: #22a06b;
}

.notify-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.notify-filters__chip {
  border: 1px solid #d7e2ee;
  background: #ffffff;
  color: #6b7c93;
  font-family: inherit;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.42rem 0.85rem;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.notify-filters__chip--active {
  background: #0c1f3d;
  border-color: #0c1f3d;
  color: #ffffff;
}

.notify-flow {
  max-width: 920px;
  margin: 0 auto;
}

.notify-flow__head {
  margin-bottom: 1.35rem;
}

.notify-flow__head h1 {
  margin: 0 0 0.35rem;
  font-size: 1.35rem;
  font-weight: 700;
  color: #1a2b42;
}

.notify-flow__head p {
  margin: 0;
  font-size: 0.82rem;
  color: #6b7c93;
}

.notify-flow__progress {
  display: flex;
  gap: 0.45rem;
  margin-bottom: 1.5rem;
}

.notify-flow__step {
  flex: 1;
  height: 4px;
  border-radius: 999px;
  background: #e2e8ef;
}

.notify-flow__step--active,
.notify-flow__step--done {
  background: #0c1f3d;
}

.notify-flow__panel {
  background: #ffffff;
  border: 1px solid #e8edf3;
  border-radius: 20px;
  padding: 1.35rem 1.4rem;
  box-shadow: 0 2px 12px rgba(13, 27, 46, 0.05);
}

.notify-flow__panel[hidden] {
  display: none;
}

.notify-flow__panel-head {
  margin-bottom: 1.15rem;
}

.notify-flow__panel-head h2 {
  margin: 0 0 0.3rem;
  font-size: 1rem;
  font-weight: 700;
  color: #1a2b42;
}

.notify-flow__panel-head p {
  margin: 0;
  font-size: 0.78rem;
  color: #6b7c93;
}

.notify-flow__type-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
}

.notify-flow__type-card {
  border: 1.5px solid #e2e8ef;
  border-radius: 16px;
  background: #ffffff;
  padding: 1rem 0.85rem;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
  font-family: inherit;
}

.notify-flow__type-card strong {
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
  color: #1a2b42;
  margin-bottom: 0.25rem;
}

.notify-flow__type-card span {
  display: block;
  font-size: 0.68rem;
  color: #6b7c93;
  line-height: 1.4;
}

.notify-flow__type-card--active {
  border-color: #0c1f3d;
  background: #f4f8fc;
  box-shadow: 0 0 0 1px rgba(12, 31, 61, 0.08);
}

.notify-flow__audience-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.65rem;
}

.notify-flow__audience-card {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  border: 1.5px solid #e2e8ef;
  border-radius: 14px;
  padding: 0.85rem 0.9rem;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}

.notify-flow__audience-card input {
  margin-top: 0.15rem;
  accent-color: #0c1f3d;
  flex-shrink: 0;
}

.notify-flow__audience-card strong {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  color: #1a2b42;
}

.notify-flow__audience-card span {
  display: block;
  margin-top: 0.12rem;
  font-size: 0.66rem;
  color: #6b7c93;
  line-height: 1.35;
}

.notify-flow__audience-card:has(input:checked) {
  border-color: #0c1f3d;
  background: #f4f8fc;
}

.notify-flow__audience-fields {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #edf1f5;
}

.notify-flow__audience-fields[hidden] {
  display: none;
}

.notify-flow__delivery {
  display: grid;
  gap: 0.65rem;
  margin-top: 1rem;
}

.notify-flow__delivery-option {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid #e2e8ef;
  border-radius: 12px;
  cursor: pointer;
}

.notify-flow__delivery-option input {
  accent-color: #0c1f3d;
}

.notify-flow__delivery-option strong {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: #1a2b42;
}

.notify-flow__delivery-option span {
  display: block;
  font-size: 0.66rem;
  color: #6b7c93;
  margin-top: 0.1rem;
}

.notify-flow__schedule-options {
  display: grid;
  gap: 0.55rem;
  margin-bottom: 1rem;
}

.notify-flow__schedule-option {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.78rem;
  color: #1a2b42;
  cursor: pointer;
}

.notify-flow__schedule-option input {
  accent-color: #0c1f3d;
}

.notify-flow__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 1.35rem;
  padding-top: 1.15rem;
  border-top: 1px solid #edf1f5;
}

.notify-flow__actions-group {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
}

@media (max-width: 1100px) {
  .dash-records--notifications .dash-records__head,
  .dash-records--notifications .dash-records__row {
    grid-template-columns: 1fr 1fr;
  }
  .dash-records--notifications .dash-records__head span:nth-child(n+3),
  .dash-records--notifications .dash-records__row > span:nth-child(n+3):not(.dash-cell-actions) {
    display: none;
  }
  .dash-records--notifications .dash-records__row .dash-cell-actions {
    grid-column: 1/-1;
  }
  .notify-flow__type-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .notify-flow__type-grid,
  .notify-flow__audience-grid {
    grid-template-columns: 1fr;
  }
}
.settings-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 1.35rem;
  align-items: start;
}

.settings-nav {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.85rem;
  background: #f7f8fb;
  border-radius: 18px;
}

.settings-nav__link {
  display: block;
  padding: 0.7rem 0.85rem;
  border-radius: 12px;
  color: #6b7c93;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}

.settings-nav__link:hover {
  background: rgba(12, 31, 61, 0.06);
  color: #1a2b42;
}

.settings-nav__link--active {
  background: #ffffff;
  color: #F15B55;
  box-shadow: 0 2px 10px rgba(12, 31, 61, 0.08);
}

.settings-panel {
  background: #fafbfd;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 20px;
  padding: 1.35rem 1.45rem 1.5rem;
}

.settings-panel__head {
  margin-bottom: 1.25rem;
}

#automatedNotifySettingsModal .settings-panel__head {
  margin-bottom: 0;
}

#automatedNotifySettingsModal .sm-edit-module-modal__dialog {
  max-width: min(870px, 100% - 2rem);
  width: min(870px, 100% - 2rem);
}

.settings-panel__head h2 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #1a2b42;
  margin-bottom: 0.3rem;
}

.settings-panel__head p {
  font-size: 0.84rem;
  color: #6b7c93;
  margin: 0;
}

.settings-panel__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.65rem;
  margin-top: 1.35rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(12, 31, 61, 0.08);
}

.settings-panel .form-field__control--textarea textarea,
.settings-panel .form-field__control > textarea {
  border-radius: 14px;
  padding: 12px 16px;
  font-size: 0.82rem;
}

.settings-toggle-list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.settings-toggle-list--two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}
@media (max-width: 575.98px) {
  .settings-toggle-list--two {
    grid-template-columns: 1fr;
  }
}

.settings-toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1rem;
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid rgba(12, 31, 61, 0.06);
}

.settings-toggle-row strong {
  display: block;
  font-size: 0.9rem;
  color: #1a2b42;
  margin-bottom: 0.15rem;
}

.settings-toggle-row span {
  display: block;
  font-size: 0.78rem;
  color: #6b7c93;
}

.settings-switch {
  position: relative;
  width: 46px;
  height: 26px;
  flex-shrink: 0;
}

.settings-switch input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

.settings-switch__track {
  position: absolute;
  inset: 0;
  background: #d5dbe8;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s;
}

.settings-switch__track::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  background: #ffffff;
  border-radius: 50%;
  transition: transform 0.2s;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

.settings-switch input:checked + .settings-switch__track {
  background: #0c1f3d;
}

.settings-switch input:checked + .settings-switch__track::after {
  transform: translateX(20px);
}

.settings-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 1.15rem;
}

.settings-tabs__btn {
  border: 1px solid rgba(12, 31, 61, 0.1);
  background: #ffffff;
  color: #6b7c93;
  font-family: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  padding: 0.5rem 0.9rem;
  border-radius: 999px;
  cursor: pointer;
}

.settings-tabs__btn--active {
  background: #0c1f3d;
  border-color: #0c1f3d;
  color: #ffffff;
}

.settings-tab-panel[hidden] {
  display: none;
}

.settings-subject-marks__list {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.settings-subject-marks__row:not(:first-child) .form-field > label {
  visibility: hidden;
  height: 0;
  margin: 0;
  overflow: hidden;
}

.settings-subject-marks__actions {
  margin-top: 1rem;
}

.settings-subject-marks__add {
  border: 1px solid rgba(12, 31, 61, 0.1);
  cursor: pointer;
  transition: background 0.15s, transform 0.1s;
}

.settings-subject-marks__add:hover {
  background: #eaf4fb;
  transform: scale(1.04);
}

.settings-brand-preview {
  margin-top: 1rem;
  padding: 1rem;
  background: #ffffff;
  border-radius: 16px;
  border: 1px dashed rgba(12, 31, 61, 0.15);
}

.settings-brand-preview__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.55rem 0.85rem;
  border-radius: 12px;
  font-weight: 700;
  font-size: 0.88rem;
  color: #ffffff;
  background: var(--settings-theme, #0c1f3d);
}

.settings-brand-preview img {
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.settings-seats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.85rem;
  margin-bottom: 1.15rem;
}

.settings-seats__card {
  background: #ffffff;
  border-radius: 16px;
  padding: 1rem;
  border: 1px solid rgba(12, 31, 61, 0.06);
}

.settings-seats__card strong {
  display: block;
  font-size: 1.35rem;
  color: #1a2b42;
  margin-bottom: 0.2rem;
}

.settings-seats__card span {
  font-size: 0.78rem;
  color: #6b7c93;
}

.settings-records {
  margin-top: 1rem;
}

.settings-records .dash-records__head,
.settings-records .dash-records__row {
  grid-template-columns: 1.2fr 1fr 1fr 0.8fr;
}

.settings-hub {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.settings-hub__card {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 1.15rem 1.2rem;
  background: #fafbfd;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 18px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.settings-hub__card:hover {
  border-color: rgba(12, 31, 61, 0.14);
  box-shadow: 0 8px 24px rgba(12, 31, 61, 0.08);
}

.settings-hub__card strong {
  font-size: 0.95rem;
  color: #1a2b42;
}

.settings-hub__card span {
  font-size: 0.8rem;
  color: #6b7c93;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .settings-layout {
    grid-template-columns: 1fr;
  }
  .settings-seats,
  .settings-hub {
    grid-template-columns: 1fr;
  }
}
.settings-payment-modal {
  width: 100%;
  max-width: 520px;
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 16px 48px rgba(12, 31, 61, 0.22);
  padding: 1.75rem 1.85rem 1.65rem;
  text-align: center;
}

.settings-payment-modal__title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: #1f4169;
}

.settings-payment-modal__desc {
  margin: 0.55rem 0 1.25rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #6b7c93;
}

.settings-payment-modal__form {
  text-align: left;
}

.settings-payment-modal__form .form-row {
  margin-bottom: 0.85rem;
}

.settings-payment-modal__form .form-field label {
  font-size: 0.78rem;
  font-weight: 500;
  color: #6b7c93;
}

.settings-payment-modal__form .form-field__control input,
.settings-payment-modal__form .form-field__control select,
.settings-payment-modal__form .form-field__control--textarea textarea,
.settings-payment-modal__form .form-field__control > textarea {
  border-radius: 14px;
  border-color: #e2e8f0;
  padding: 12px 16px;
  font-size: 0.82rem;
}

.settings-payment-modal__summary {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.35rem 1rem;
  align-items: center;
  margin-top: 1rem;
  padding: 0.95rem 1rem;
  border-radius: 16px;
  background: #f7f8fb;
  border: 1px solid rgba(12, 31, 61, 0.06);
  font-size: 0.8rem;
  color: #6b7c93;
}

.settings-payment-modal__summary strong {
  color: #1a2b42;
  font-size: 0.88rem;
  text-align: right;
}

.settings-payment-modal__summary-total {
  margin-top: 0.35rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(12, 31, 61, 0.08);
  font-weight: 600;
  color: #1a2b42;
}

.settings-payment-modal__summary-total + strong {
  margin-top: 0.35rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(12, 31, 61, 0.08);
  font-size: 1rem;
  color: #F15B55;
}

.settings-payment-modal__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  flex-wrap: wrap;
  margin-top: 1.35rem;
}

.reports-page .page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 1.35rem;
}
.reports-page .page-header h1,
.reports-page .page-header h2 {
  font-size: 18px;
  font-weight: 700;
  color: #1a2b42;
  margin: 0 0 4px;
}
.reports-page .page-header p {
  font-size: 12px;
  color: #6b7c93;
  margin: 0;
  max-width: 420px;
}
.reports-page .page-header__text {
  flex: 1;
  min-width: 200px;
}
.reports-page .page-header__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.reports-page .directory__tools.fto-reports-tab__tools,
.fto-reports-list-page .directory__tools.fto-reports-list__tools {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  flex-shrink: 0;
  width: 100%;
  margin-left: 0;
  justify-content: space-between;
}
@media (max-width: 991.98px) {
  .reports-page .directory__tools.fto-reports-tab__tools,
  .fto-reports-list-page .directory__tools.fto-reports-list__tools {
    flex-wrap: wrap;
    width: 100%;
  }
}
.reports-page .directory__tools.fto-reports-tab__tools .directory__tools-end,
.fto-reports-list-page .directory__tools.fto-reports-list__tools .directory__tools-end {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 1 auto;
  margin-left: auto;
  min-width: 0;
}
.reports-page .directory__tools.fto-reports-tab__tools .directory__tools-end .directory__search,
.fto-reports-list-page .directory__tools.fto-reports-list__tools .directory__tools-end .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 0;
  max-width: 280px;
}
@media (max-width: 991.98px) {
  .reports-page .directory__tools.fto-reports-tab__tools .directory__tools-end .directory__search,
  .fto-reports-list-page .directory__tools.fto-reports-list__tools .directory__tools-end .directory__search {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
}
.reports-page .directory__tools.fto-reports-tab__tools .btn,
.fto-reports-list-page .directory__tools.fto-reports-list__tools .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
}
.reports-page .directory__tools.fto-reports-tab__tools .btn svg,
.fto-reports-list-page .directory__tools.fto-reports-list__tools .btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.reports-page .directory__tools.fto-reports-tab__tools .btn--filter,
.reports-page .directory__tools.fto-reports-tab__tools .btn--secondary,
.reports-page .directory__tools.fto-reports-tab__tools .btn--export,
.fto-reports-list-page .directory__tools.fto-reports-list__tools .btn--filter,
.fto-reports-list-page .directory__tools.fto-reports-list__tools .btn--secondary,
.fto-reports-list-page .directory__tools.fto-reports-list__tools .btn--export {
  background: #fff;
  color: #0c1f3d;
  border: 1px solid #e2e8f0;
  padding: 10px 18px;
  border-radius: 12px;
  font-size: 13px;
}

.reports-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.fto-reports-tab .fto-reports-directory,
.reports-page .fto-reports-directory {
  min-width: 0;
  max-width: 100%;
}
.fto-reports-tab .fto-reports-directory .directory__header,
.reports-page .fto-reports-directory .directory__header {
  margin-bottom: 1rem;
}
@media (max-width: 991.98px) {
  .fto-reports-tab .directory__header,
  .reports-page .directory__header {
    flex-direction: column;
    gap: 0.875rem;
  }
  .fto-reports-tab .directory__tools,
  .reports-page .directory__tools {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
  }
  .fto-reports-tab .directory__tools .btn--filter,
  .fto-reports-tab .directory__tools .btn--export,
  .reports-page .directory__tools .btn--filter,
  .reports-page .directory__tools .btn--export {
    width: 100%;
    justify-content: center;
  }
}

.reports-card {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  padding: 1.15rem 1.2rem 1.2rem;
  background: #fafbfd;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 18px;
}

.reports-card__head {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.reports-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #eaf4fb;
  color: #0c1f3d;
  flex-shrink: 0;
}

.reports-card__icon svg {
  width: 22px;
  height: 22px;
}

.reports-card__icon--alert {
  background: #fff1f0;
  color: #F15B55;
}

.reports-nav {
  display: inline-flex;
  max-width: 100%;
}
.reports-nav .notifications-tabs__btn {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.warnings-cautions-count--warning {
  color: #F15B55;
}

.warnings-cautions-count--caution {
  color: #f59e0b;
}

.warnings-cautions-stat__value--warning {
  color: #F15B55;
}

.warnings-cautions-stat__value--caution {
  color: #f59e0b;
}

.reports-card__info {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}

.reports-card__info strong {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2b42;
}

.reports-card__info span {
  font-size: 0.78rem;
  color: #6b7c93;
}

.reports-card__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
}

.reports-card__actions .dash-btn,
.reports-card__actions .btn--view {
  width: 100%;
  justify-content: center;
  padding: 0.5rem 0.65rem;
}

@media (max-width: 1100px) {
  .reports-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .reports-grid {
    grid-template-columns: 1fr;
  }
  .reports-page .directory__header {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .fto-reports-list-page .fto-batch-detail__header > .d-flex {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .fto-reports-list-page .sc-add-topic__heading-row {
    align-items: flex-start;
  }
  .fto-reports-list-page .sc-add-topic__subtitle {
    max-width: none;
  }
}
.roles-page.dash-panel {
  width: 100%;
  max-width: 100%;
  padding: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

.roles-layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  min-width: 0;
}

.roles-list {
  background: #fafbfd;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 18px;
  padding: 1.15rem 1rem 1.2rem;
}

.roles-list__title {
  margin: 0 0 0.85rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2b42;
}

.roles-list__items {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.roles-list__item {
  border: none;
  background: transparent;
  text-align: left;
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  font-family: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  color: #1a2b42;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.roles-list__item--active {
  background: #F15B55;
  color: #ffffff;
}

.roles-list__create {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
  margin-top: 1rem;
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  border: 1px solid #d5dee8;
  background: #ffffff;
  color: #1a2b42;
  font-family: inherit;
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
  transition: border-color 0.15s, background 0.15s;
}

.roles-list__create:hover {
  border-color: rgba(12, 31, 61, 0.18);
  background: #f8fafc;
}

.roles-matrix-wrap {
  background: #fafbfd;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 18px;
  padding: 1.15rem 1.2rem 1.25rem;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}

.roles-matrix-wrap [data-role-matrix] {
  width: 100%;
  min-width: 0;
}

.roles-matrix {
  width: 100%;
  min-width: 0;
}

.roles-matrix__head {
  margin-bottom: 1rem;
}

.roles-matrix__head h2 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2b42;
}

.roles-matrix__table {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: rgba(12, 31, 61, 0.22) transparent;
}

.roles-matrix__table::-webkit-scrollbar {
  height: 5px;
}

.roles-matrix__table::-webkit-scrollbar-thumb {
  background: rgba(12, 31, 61, 0.22);
  border-radius: 999px;
}

.roles-matrix__table::-webkit-scrollbar-thumb:hover {
  background: rgba(12, 31, 61, 0.38);
}

.roles-matrix__table::-webkit-scrollbar-track {
  background: transparent;
}

.roles-matrix__row {
  display: grid;
  grid-template-columns: minmax(120px, 1.4fr) repeat(6, minmax(52px, 1fr));
  gap: 0.35rem;
  align-items: center;
  width: 100%;
  min-width: 0;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(12, 31, 61, 0.06);
  box-sizing: border-box;
}

.roles-matrix__row--head {
  padding-bottom: 0.65rem;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #6b7c93;
}

.roles-matrix__row:last-child {
  border-bottom: none;
}

.roles-matrix__module {
  font-size: 0.78rem;
  font-weight: 600;
  color: #1a2b42;
}

.roles-matrix__foot {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(12, 31, 61, 0.06);
}

.roles-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.roles-check input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.roles-check__box {
  width: 18px;
  height: 18px;
  border-radius: 5px;
  border: 2px solid #d5dee8;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, border-color 0.15s;
}

.roles-check input:checked + .roles-check__box {
  background: #F15B55;
  border-color: #F15B55;
}

.roles-check input:checked + .roles-check__box::after {
  content: "";
  width: 5px;
  height: 9px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  margin-top: -2px;
}

.roles-check input:focus-visible + .roles-check__box {
  outline: 2px solid rgba(12, 31, 61, 0.25);
  outline-offset: 2px;
}

.role-wizard {
  max-width: 980px;
  margin: 0 auto;
}

.role-wizard__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}

.role-wizard__top h1 {
  margin: 0 0 0.35rem;
  font-size: 1.55rem;
  font-weight: 700;
  color: #1a2b42;
}

.role-wizard__meta {
  margin: 0;
  font-size: 0.82rem;
  color: #F15B55;
  font-weight: 600;
}

.role-wizard__back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #6b7c93;
  text-decoration: none;
}

.role-wizard__back-link::before {
  content: "â†";
  font-size: 0.95rem;
  line-height: 1;
}

.role-wizard__back-link:hover {
  color: #1a2b42;
}

.role-wizard__progress {
  display: flex;
  gap: 0.35rem;
  margin-bottom: 1.35rem;
}

.role-wizard__progress-seg {
  flex: 1;
  height: 4px;
  border-radius: 999px;
  background: #e2e8ef;
}

.role-wizard__progress-seg--active,
.role-wizard__progress-seg--done {
  background: #F15B55;
}

.role-wizard__layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.role-wizard__steps {
  background: #ffffff;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 18px;
  padding: 1rem 0.85rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.role-wizard__step {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border-radius: 14px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #6b7c93;
}

.role-wizard__step-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.72rem;
  font-weight: 700;
  background: #eef2f6;
  color: #6b7c93;
  flex-shrink: 0;
}

.role-wizard__step--active {
  background: rgba(230, 57, 70, 0.08);
  color: #1a2b42;
}

.role-wizard__step--active .role-wizard__step-num {
  background: #F15B55;
  color: #ffffff;
}

.role-wizard__step--done {
  color: #1a2b42;
}

.role-wizard__step--done .role-wizard__step-num {
  background: #22a06b;
  color: #ffffff;
  font-size: 0;
}

.role-wizard__step--done .role-wizard__step-num::after {
  content: "";
  width: 6px;
  height: 10px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  margin-top: -2px;
}

.role-wizard__main {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.role-wizard__panel {
  background: #ffffff;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 18px;
  padding: 1.25rem 1.3rem;
}

.role-wizard__panel[hidden] {
  display: none;
}

.role-wizard__panel h2 {
  margin: 0 0 1rem;
  font-size: 1rem;
  font-weight: 700;
  color: #1a2b42;
}

.role-wizard__perm-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.role-wizard__perm-item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 0.9rem;
  border-radius: 999px;
  background: #eef2f6;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 600;
  color: #1a2b42;
}

.role-wizard__perm-item input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.role-wizard__perm-item .roles-check__box {
  border-radius: 50%;
  border-color: rgba(230, 57, 70, 0.45);
}

.role-wizard__perm-item input:checked + .roles-check__box {
  background: #F15B55;
  border-color: #F15B55;
}

.role-wizard__perm-item:has(input:checked) {
  background: rgba(230, 57, 70, 0.08);
}

.role-wizard__review-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1rem;
  border-radius: 999px;
  background: #eef2f6;
  font-size: 0.82rem;
  color: #6b7c93;
  margin-bottom: 0.65rem;
}

.role-wizard__review-row strong {
  color: #1a2b42;
  font-weight: 700;
}

.role-wizard__review-row span:last-child {
  color: #1a2b42;
  font-weight: 600;
}

.role-wizard__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  background: #ffffff;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 18px;
  padding: 0.9rem 1.1rem;
}

.role-wizard__footer-actions {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
}

@media (max-width: 1100px) {
  .content:has(.roles-page) {
    overflow-x: visible;
  }
  .roles-page {
    min-width: 0;
    width: 100%;
  }
  .roles-layout {
    grid-template-columns: 1fr;
    gap: 0.85rem;
    width: 100%;
  }
  .roles-list {
    padding: 1rem;
    min-width: 0;
    width: 100%;
  }
  .roles-list__title {
    margin-bottom: 0.75rem;
  }
  .roles-list__items {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0.5rem;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: rgba(12, 31, 61, 0.22) transparent;
    padding-bottom: 0.35rem;
    margin-right: 0;
    max-width: 100%;
  }
  .roles-list__items::-webkit-scrollbar {
    height: 4px;
  }
  .roles-list__items::-webkit-scrollbar-thumb {
    background: rgba(12, 31, 61, 0.22);
    border-radius: 999px;
  }
  .roles-list__items::-webkit-scrollbar-track {
    background: transparent;
  }
  .roles-list__item {
    flex: 0 0 auto;
    white-space: nowrap;
    scroll-snap-align: start;
  }
  .roles-list__create {
    margin-top: 0.85rem;
  }
  .roles-matrix-wrap {
    padding: 1rem;
    width: 100%;
    box-sizing: border-box;
  }
  .roles-matrix {
    min-width: 0;
    width: 100%;
  }
  .roles-matrix__head h2 {
    font-size: 0.88rem;
    line-height: 1.35;
  }
  .roles-matrix__table {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    scroll-snap-type: x proximity;
  }
  .roles-matrix__row {
    min-width: 620px;
  }
  .roles-matrix__foot .btn {
    width: 100%;
    justify-content: center;
  }
  .roles-page .dash-page-head {
    margin-bottom: 1rem;
  }
  .roles-page .dash-page-head__text h1 {
    font-size: 1.35rem;
  }
}
@media (max-width: 767px) {
  .content:has(.roles-page) {
    margin-inline: 8px;
    padding-inline: 12px;
  }
}
@media (max-width: 900px) {
  .role-wizard__layout {
    grid-template-columns: 1fr;
  }
  .role-wizard__perm-grid {
    grid-template-columns: 1fr;
  }
}
.assessment-page .dash-page-head,
.resource-page .dash-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}

.assessment-page .dash-page-head h1,
.resource-page .dash-page-head h1 {
  margin: 0 0 0.35rem;
  font-size: 1.55rem;
  font-weight: 700;
  color: #1a2b42;
}

.assessment-page .dash-page-head p,
.resource-page .dash-page-head p {
  margin: 0;
  color: #6b7c93;
  font-size: 0.85rem;
}

.assessment-page .dash-page-head__actions,
.resource-page .dash-page-head__actions {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.assessment-table__head,
.assessment-table .assessment-row,
.resource-table .assessment-row,
.assessment-table .resource-row,
.resource-table .resource-row {
  display: grid;
  grid-template-columns: minmax(140px, 1.4fr) repeat(7, minmax(0, 1fr)) auto;
  gap: 0.65rem;
  align-items: center;
  padding: 0.85rem 1rem;
  font-size: 0.78rem;
}

.assessment-table__head {
  background: #f8fafc;
  border-radius: 14px 14px 0 0;
  font-weight: 700;
  color: #6b7c93;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: 0.68rem;
}

.assessment-table__body .assessment-row,
.assessment-table__body .resource-row {
  border-bottom: 1px solid #eef2f6;
}

.assessment-table__body .assessment-row:last-child,
.assessment-table__body .resource-row:last-child {
  border-bottom: none;
}

.assessment-table--exams {
  min-width: 1000px;
}

.assessment-table--exams .assessment-table__head,
.assessment-table--exams .assessment-table__body .assessment-row,
.assessment-table--exams .assessment-table__body .resource-row {
  grid-template-columns: minmax(160px, 1.55fr) minmax(48px, 0.5fr) minmax(80px, 0.75fr) minmax(88px, 0.85fr) minmax(80px, 0.72fr) minmax(64px, 0.6fr) minmax(56px, 0.55fr) minmax(72px, 0.62fr) minmax(72px, 72px);
}

.assessment-table--exams .assessment-row__actions {
  justify-content: flex-end;
  flex-wrap: nowrap;
  min-width: 0;
}

.assessment-table--dgca {
  min-width: 920px;
}

.assessment-table--dgca .assessment-table__head,
.assessment-table--dgca .assessment-table__body .assessment-row,
.assessment-table--dgca .assessment-table__body .resource-row {
  grid-template-columns: minmax(180px, 1.65fr) minmax(48px, 0.55fr) minmax(64px, 0.65fr) minmax(64px, 0.6fr) minmax(64px, 0.55fr) minmax(64px, 0.55fr) minmax(180px, 180px);
}

.assessment-table--dgca .assessment-row__actions {
  justify-content: flex-end;
  flex-wrap: nowrap;
  min-width: 0;
  gap: 0.35rem;
}

.assessment-table--homework {
  min-width: 1080px;
}

.assessment-table--homework .assessment-table__head,
.assessment-table--homework .assessment-table__body .assessment-row,
.assessment-table--homework .assessment-table__body .resource-row {
  grid-template-columns: minmax(160px, 1.55fr) minmax(48px, 0.5fr) minmax(80px, 0.75fr) minmax(72px, 0.7fr) minmax(88px, 0.8fr) minmax(80px, 0.72fr) minmax(64px, 0.6fr) minmax(72px, 0.62fr) minmax(112px, 112px);
}

.assessment-table--homework .assessment-row__actions {
  justify-content: flex-end;
  flex-wrap: nowrap;
  min-width: 0;
}

.assessment-row__title strong {
  display: block;
  color: #1a2b42;
  font-weight: 700;
}

.assessment-row__actions {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  justify-content: flex-end;
}

.assessment-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}

.assessment-card {
  background: #ffffff;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 18px;
  padding: 1.1rem 1.15rem;
}

.assessment-card h3 {
  margin: 0.55rem 0 0.35rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2b42;
}

.assessment-card p {
  margin: 0 0 0.85rem;
  font-size: 0.78rem;
  color: #6b7c93;
}

.assessment-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.assessment-template-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 1rem;
}

.assessment-template-tabs__btn {
  border: 1px solid rgba(12, 31, 61, 0.08);
  background: #ffffff;
  border-radius: 999px;
  padding: 0.45rem 0.95rem;
  font-family: inherit;
  font-size: 0.78rem;
  font-weight: 600;
  color: #6b7c93;
  cursor: pointer;
}

.assessment-template-tabs__btn--active {
  background: rgba(230, 57, 70, 0.08);
  border-color: rgba(230, 57, 70, 0.25);
  color: #1a2b42;
}

.assessment-detail__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.assessment-detail__head h1 {
  margin: 0 0 0.35rem;
  font-size: 1.45rem;
  font-weight: 700;
  color: #1a2b42;
}

.assessment-detail__head p {
  margin: 0;
  font-size: 0.82rem;
  color: #6b7c93;
}

.assessment-detail__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.assessment-detail__panel {
  background: #ffffff;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 18px;
  padding: 1.15rem 1.2rem;
  margin-top: 1rem;
}

.assessment-detail__panel[hidden] {
  display: none;
}

.assessment-detail__block {
  margin-top: 1rem;
}

.assessment-detail__block h2 {
  margin: 0 0 0.5rem;
  font-size: 0.92rem;
  font-weight: 700;
  color: #1a2b42;
}

.assessment-detail__block p {
  margin: 0;
  font-size: 0.82rem;
  color: #6b7c93;
  line-height: 1.5;
}

.assessment-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 0.75rem;
}

.assessment-empty {
  margin: 0;
  font-size: 0.82rem;
  color: #6b7c93;
}

.assessment-detail__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}

.assessment-detail__toolbar p {
  margin: 0;
  font-size: 0.8rem;
  color: #6b7c93;
}

.assessment-detail__toolbar .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}

.assessment-info-grid--compact {
  margin-bottom: 1rem;
}

.assessment-detail-table {
  min-width: 0;
}

.assessment-detail-table__head,
.assessment-detail-table .assessment-detail-row {
  display: grid;
  align-items: center;
  gap: 0.65rem 0.75rem;
  padding: 0.7rem 1rem;
  font-size: 0.78rem;
}

.assessment-detail-table__head {
  background: #f4f6f9;
  border-radius: 12px 12px 0 0;
  font-weight: 600;
  color: #6b7c93;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: 0.68rem;
}

.assessment-detail-table__body {
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-top: 0;
  border-radius: 0 0 12px 12px;
  overflow: hidden;
}

.assessment-detail-table .assessment-detail-row {
  border-top: 1px solid rgba(12, 31, 61, 0.05);
  color: #1a2b42;
}

.assessment-detail-table .assessment-detail-row:first-child {
  border-top: 0;
}

.assessment-detail-table--assigned .assessment-detail-table__head,
.assessment-detail-table--assigned .assessment-detail-row {
  grid-template-columns: minmax(160px, 1.6fr) minmax(72px, 0.7fr) minmax(88px, 0.8fr) minmax(96px, 0.85fr) minmax(120px, 120px);
}

.assessment-detail-table--submissions .assessment-detail-table__head,
.assessment-detail-table--submissions .assessment-detail-row {
  grid-template-columns: minmax(160px, 1.5fr) minmax(120px, 1fr) minmax(140px, 1.1fr) minmax(56px, 0.5fr) minmax(120px, 120px);
}

.assessment-detail-table--results .assessment-detail-table__head,
.assessment-detail-table--results .assessment-detail-row {
  grid-template-columns: minmax(160px, 1.4fr) minmax(56px, 0.45fr) minmax(64px, 0.5fr) minmax(88px, 0.75fr) minmax(140px, 1.2fr);
}

.assessment-detail-table--reminders .assessment-detail-table__head,
.assessment-detail-table--reminders .assessment-detail-row {
  grid-template-columns: minmax(130px, 1.1fr) minmax(100px, 0.9fr) minmax(120px, 1fr) minmax(100px, 0.9fr) minmax(80px, 0.7fr);
}

.assessment-detail-table--exam-results .assessment-detail-table__head,
.assessment-detail-table--exam-results .assessment-detail-row {
  grid-template-columns: minmax(160px, 1.5fr) minmax(56px, 0.45fr) minmax(72px, 0.55fr) minmax(80px, 0.65fr) minmax(120px, 120px);
}

.assessment-detail-table--attendance .assessment-detail-table__head,
.assessment-detail-table--attendance .assessment-detail-row {
  grid-template-columns: minmax(160px, 1.5fr) minmax(72px, 0.65fr) minmax(88px, 0.75fr) minmax(80px, 0.65fr) minmax(80px, 0.6fr);
}

.assessment-detail-row__profile {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.assessment-detail-row__profile img {
  border-radius: 50%;
  flex-shrink: 0;
  object-fit: cover;
}

.assessment-detail-row__profile strong {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: #1a2b42;
}

.assessment-detail-row__profile small {
  display: block;
  font-size: 0.7rem;
  color: #6b7c93;
}

.assessment-detail-row__actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 0.35rem;
}

.assessment-type-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.assessment-type-grid--homework {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 998px) {
  .assessment-type-grid--homework {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.assessment-type-card {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.85rem 1rem;
  border-radius: 14px;
  background: #eef2f6;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 600;
  color: #1a2b42;
}

.assessment-type-card input {
  accent-color: #F15B55;
}

.assessment-type-card:has(input:checked) {
  background: rgba(230, 57, 70, 0.08);
  box-shadow: inset 0 0 0 1px rgba(230, 57, 70, 0.2);
}

.assessment-q-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.assessment-question-list {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.assessment-question-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 0.9rem;
  border-radius: 12px;
  background: #f8fafc;
  font-size: 0.8rem;
  color: #1a2b42;
}

.assessment-preview-paper {
  padding: 1rem 1.1rem;
  border-radius: 14px;
  background: #f8fafc;
  margin-bottom: 0.85rem;
}

.assessment-preview-paper h3 {
  margin: 0 0 0.35rem;
  font-size: 0.92rem;
  font-weight: 700;
  color: #1a2b42;
}

.assessment-preview-paper p {
  margin: 0;
  font-size: 0.78rem;
  color: #6b7c93;
}

.assessment-dgca-preview {
  border: 2px solid #0c1f3d;
  border-radius: 12px;
  padding: 1.25rem;
  background: #ffffff;
  font-size: 0.82rem;
  color: #1a2b42;
}

.assessment-dgca-preview__header {
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(12, 31, 61, 0.15);
}

.assessment-dgca-preview--full ol {
  margin: 0.75rem 0 0;
  padding-left: 1.25rem;
  line-height: 1.6;
}

.btn--sm {
  padding: 0.35rem 0.75rem;
  font-size: 0.72rem;
}

@media (max-width: 1100px) {
  .assessment-table__head {
    display: none;
  }
  .assessment-table__body .assessment-row,
  .assessment-table__body .resource-row {
    grid-template-columns: 1fr;
    gap: 0.35rem;
    border: 1px solid #eef2f6;
    border-radius: 14px;
    margin-bottom: 0.65rem;
  }
}
.row-dropdown {
  position: relative;
  display: inline-flex;
}

.row-dropdown__toggle {
  cursor: pointer;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: #000000;
  box-shadow: none;
}

.row-dropdown__toggle.detail-doc-card__menu-toggle {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  color: #1a2b42;
  box-shadow: none;
}

.row-dropdown__toggle svg,
.row-dropdown__toggle i {
  width: 18px;
  height: 18px;
  font-size: 1.05rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.row-dropdown__toggle:hover {
  background: #f1f5f9;
  color: #1a2b42;
}

.row-dropdown__toggle.detail-doc-card__menu-toggle:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
}

.row-dropdown.is-open {
  z-index: 130;
}

.row-dropdown__menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 120;
  min-width: 168px;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(12, 31, 61, 0.12);
  border: 1px solid rgba(12, 31, 61, 0.06);
  padding: 0.4rem;
  display: none;
  flex-direction: column;
  gap: 0.15rem;
}

.row-dropdown__menu[hidden] {
  display: none !important;
}

.row-dropdown.is-open .row-dropdown__menu {
  display: flex;
}

.row-dropdown__item {
  display: block;
  width: 100%;
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 0.55rem 0.75rem;
  font-family: inherit;
  font-size: 0.78rem;
  font-weight: 600;
  color: #1a2b42;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s;
  box-sizing: border-box;
}

.row-dropdown__item:hover {
  background: #f4f6f9;
}

.row-dropdown__item--danger {
  color: #dc2626;
}

.row-dropdown__item--danger:hover {
  background: #fef2f2;
}

.resource-table.assessment-table .resource-table__head,
.resource-table .resource-table__head,
.resource-table.assessment-table .resource-table__body .resource-row,
.resource-table .resource-table__body .resource-row {
  grid-template-columns: minmax(140px, 1.4fr) 0.7fr 0.9fr 0.8fr 1fr 0.6fr 0.7fr minmax(52px, auto);
}

.resource-table .assessment-row__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  min-width: 52px;
}

.resource-table--videos.assessment-table .resource-table__head,
.resource-table--videos.resource-table .resource-table__head,
.resource-table--videos.assessment-table .resource-table__body .resource-row,
.resource-table--videos.resource-table .resource-table__body .resource-row {
  grid-template-columns: minmax(140px, 1.4fr) 0.7fr 0.9fr 0.8fr 1fr 0.65fr 0.7fr minmax(52px, auto);
}

.resource-table--study.assessment-table .resource-table__head,
.resource-table--study.resource-table .resource-table__head,
.resource-table--study.assessment-table .resource-table__body .resource-row,
.resource-table--study.resource-table .resource-table__body .resource-row {
  grid-template-columns: minmax(140px, 1.4fr) 0.7fr 0.9fr 0.8fr 1fr 0.55fr 0.7fr minmax(52px, auto);
}

.resource-table--question-bank.assessment-table .resource-table__head,
.resource-table--question-bank.resource-table .resource-table__head,
.resource-table--question-bank.assessment-table .resource-table__body .resource-row,
.resource-table--question-bank.resource-table .resource-table__body .resource-row {
  grid-template-columns: minmax(140px, 1.4fr) 0.7fr 0.9fr 0.8fr 1fr 0.55fr 0.7fr minmax(52px, auto);
}

.resource-upload {
  border: 2px dashed #d8dee8;
  border-radius: 16px;
  padding: 2rem 1.5rem;
  text-align: center;
  cursor: pointer;
  background: #fafbfd;
  transition: border-color 0.2s, background 0.2s;
}

.resource-upload:hover,
.resource-upload--filled {
  border-color: #4f7cff;
  background: #f4f7ff;
}

.resource-upload input[type=file] {
  display: none;
}

.resource-upload__icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 0.75rem;
  border-radius: 12px;
  background: #eef2ff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4f7cff;
}

.resource-upload__label {
  display: block;
  font-weight: 600;
  color: #1a2332;
  margin-bottom: 0.35rem;
}

.resource-upload__hint {
  font-size: 0.875rem;
  color: #6b7280;
}

.resource-preview {
  border: 1px solid #eef2f6;
  border-radius: 16px;
  overflow: hidden;
  background: #f8fafc;
}

.resource-preview__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  background: #ffffff;
  border-bottom: 1px solid #eef2f6;
}

.resource-preview__frame {
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  color: #64748b;
  text-align: center;
}

.resource-existing {
  border: 1px solid #eef2f6;
  border-radius: 14px;
  padding: 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  background: #ffffff;
}

.resource-existing__thumb {
  width: 120px;
  height: 68px;
  border-radius: 10px;
  background: linear-gradient(135deg, #1e293b, #334155);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 0.75rem;
}

.resource-existing__meta {
  flex: 1;
  min-width: 0;
}

.resource-existing__meta strong {
  display: block;
  margin-bottom: 0.25rem;
}

.resource-existing__meta span {
  font-size: 0.875rem;
  color: #64748b;
}

.resource-error-list {
  border: 1px solid #fecaca;
  border-radius: 14px;
  background: #fef2f2;
  overflow: hidden;
}

.resource-error-list__head {
  padding: 0.85rem 1rem;
  font-weight: 600;
  color: #991b1b;
  border-bottom: 1px solid #fecaca;
}

.resource-error-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.resource-error-list li {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #fee2e2;
  font-size: 0.9rem;
  color: #7f1d1d;
}

.resource-error-list li:last-child {
  border-bottom: 0;
}

.resource-qb-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1.25rem;
}

@media (max-width: 768px) {
  .resource-qb-stats {
    grid-template-columns: 1fr;
  }
}
.resource-qb-stat {
  border: 1px solid #eef2f6;
  border-radius: 14px;
  padding: 1rem;
  background: #ffffff;
}

.resource-qb-stat span {
  display: block;
  font-size: 0.8125rem;
  color: #64748b;
  margin-bottom: 0.35rem;
}

.resource-qb-stat strong {
  font-size: 1.5rem;
  color: #1a2332;
}

@media (max-width: 1100px) {
  .resource-table__head {
    display: none;
  }
  .resource-table__body .resource-row {
    grid-template-columns: 1fr;
    gap: 0.35rem;
    border: 1px solid #eef2f6;
    border-radius: 14px;
    margin-bottom: 0.65rem;
  }
}
.meeting-page {
  margin: 0;
  height: 100vh;
  max-height: 100vh;
  background: #0b0b0b;
  overflow: hidden;
}

.meeting {
  height: 100%;
  min-height: 0;
  background: #0b0b0b;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.meeting__topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}

.meeting__back {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: #ffffff;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
}

.meeting__back svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.meeting__mode-tabs {
  display: inline-flex;
  gap: 0.35rem;
  padding: 0.25rem;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 999px;
}

.meeting__mode-tab {
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.7);
  font-family: inherit;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0.45rem 1rem;
  border-radius: 999px;
  cursor: pointer;
}

.meeting__mode-tab--active {
  background: #2a2a2a;
  color: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.meeting__layout {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 300px;
  grid-template-rows: minmax(0, 1fr);
  min-height: 0;
  overflow: hidden;
}

.meeting__stage-wrap {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  padding: 1rem 1rem 1rem;
  align-content: stretch;
}

.meeting__stage {
  position: relative;
  min-height: 0;
  border-radius: 14px;
  overflow: hidden;
  background: #111;
}

.meeting__stage-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.meeting__stage-caption {
  position: absolute;
  left: 1.25rem;
  bottom: 1.25rem;
  max-width: min(520px, 70%);
  z-index: 1;
}

.meeting__stage-caption h1 {
  margin: 0 0 0.45rem;
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.2;
}

.meeting__stage-caption p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.88);
}

.meeting__thumb-strip {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.55rem;
  margin-top: 0.65rem;
}

.meeting__thumb {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  height: 58px;
  background: #1a1a1a;
}

.meeting__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.meeting__thumb span {
  position: absolute;
  left: 0.45rem;
  bottom: 0.4rem;
  font-size: 0.62rem;
  font-weight: 600;
  color: #ffffff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
  z-index: 1;
}

.meeting__thumb-mic {
  position: absolute;
  right: 0.35rem;
  bottom: 0.35rem;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #3b82f6;
  z-index: 1;
}

.meeting__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 0.85rem 0 0.15rem;
  position: relative;
  z-index: 2;
}

.meeting__control {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: none;
  background: #3a3a3a;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
  flex-shrink: 0;
}

.meeting__control svg {
  width: 22px;
  height: 22px;
}

.meeting__control:hover {
  background: #4a4a4a;
  transform: scale(1.04);
}

.meeting__control--leave {
  background: #F15B55;
}

.meeting__control--leave:hover {
  background: #d32f3c;
}

.meeting__sidebar {
  background: #ffffff;
  color: #1a2b42;
  border-left: 1px solid #e8edf3;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.meeting__sidebar-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem;
  padding: 0.85rem 0.85rem 0.65rem;
}

.meeting__sidebar-tab {
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: 0.78rem;
  font-weight: 600;
  color: #6b7c93;
  padding: 0.5rem 0.65rem;
  border-radius: 10px;
  cursor: pointer;
}

.meeting__sidebar-tab--active {
  background: #eef2f6;
  color: #1a2b42;
}

.meeting__sidebar-search {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0.85rem 0.75rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid #e8edf3;
  border-radius: 12px;
  background: #f8fafc;
}

.meeting__sidebar-search svg {
  width: 16px;
  height: 16px;
  color: #6b7c93;
  flex-shrink: 0;
}

.meeting__sidebar-search input {
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: 0.78rem;
  color: #1a2b42;
  width: 100%;
  min-width: 0;
}

.meeting__sidebar-search input::placeholder {
  color: #6b7c93;
}

.meeting__people {
  flex: 1;
  overflow-y: auto;
  padding: 0 0.85rem 1rem;
}

.meeting__people h3 {
  margin: 0.65rem 0 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: #6b7c93;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.meeting__people-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.meeting__people-list li {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid #f0f3f7;
}

.meeting__people-list li img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
}

.meeting__people-list li strong {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  color: #1a2b42;
}

.meeting__people-list li span {
  display: block;
  font-size: 0.68rem;
  color: #6b7c93;
  margin-top: 0.1rem;
}

.meeting__people-list--invited li {
  opacity: 0.75;
}

.meeting__people-mic {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #3b82f6;
  flex-shrink: 0;
}

@media (max-width: 1100px) {
  .meeting__layout {
    grid-template-columns: 1fr 260px;
  }
  .meeting__thumb-strip {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 900px) {
  .meeting__layout {
    grid-template-columns: 1fr;
  }
  .meeting__sidebar {
    max-height: 280px;
    border-left: none;
    border-top: 1px solid #e8edf3;
  }
  .meeting__controls {
    gap: 0.75rem;
    padding-top: 0.85rem;
  }
  .meeting__control {
    width: 46px;
    height: 46px;
  }
}
.batch-details-page .directory {
  background: #f8fafc;
  border-radius: 20px;
  padding: 24px 28px 28px;
  border: 1px solid #eef2f6;
}
.batch-details-page .directory__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.batch-details-page .directory__header h2 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 4px;
  color: #1a2b42;
}
.batch-details-page .directory__header p {
  font-size: 12px;
  color: #6b7c93;
  margin-bottom: 0;
}
.batch-details-page .directory__tools {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.batch-details-page .directory__search {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 0 16px;
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
  height: 42px;
  min-height: 42px;
  box-sizing: border-box;
}
.batch-details-page .directory__search svg {
  width: 16px;
  height: 16px;
  color: #6b7c93;
  flex-shrink: 0;
}
.batch-details-page .directory__search input {
  border: none;
  outline: none;
  font-size: 13px;
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  background: transparent;
  color: #1a2b42;
}
.batch-details-page .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.15s ease;
}
.batch-details-page .btn svg {
  width: 16px;
  height: 16px;
}
.batch-details-page .btn--filter {
  background: #ffffff;
  color: #1a2b42;
  border: 1px solid #e2e8f0;
  padding: 10px 18px;
  border-radius: 12px;
  font-size: 13px;
}
.batch-details-page .btn--view {
  background: #0c1f3d;
  color: #ffffff;
  padding: 8px 22px;
  font-size: 12px;
  border-radius: 999px;
}
.batch-details-page .btn--view:hover {
  color: #ffffff;
  opacity: 0.92;
}
.batch-details-page .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
}
.batch-details-page .badge--green {
  background: #e3f5ec;
  color: #22a06b;
}
.batch-details-page .badge--yellow {
  background: #fff4d6;
  color: #b8860b;
}
.batch-details-page .badge--inactive {
  background: #fde8e8;
  color: #c53030;
}
.batch-details-page__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 1.75rem;
}
.batch-details-page__stat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 1.15rem 1.25rem;
  border-radius: 18px;
  min-height: 108px;
}
.batch-details-page__stat--primary {
  background: linear-gradient(135deg, #0c1f3d 0%, #1a3352 100%);
  color: #ffffff;
  box-shadow: 0 4px 24px rgba(13, 27, 46, 0.08);
}
.batch-details-page__stat--primary .batch-details-page__stat-sub {
  color: rgba(255, 255, 255, 0.72);
}
.batch-details-page__stat--primary .batch-details-page__stat-icon {
  background: rgba(59, 130, 196, 0.95);
}
.batch-details-page__stat--primary .batch-details-page__stat-icon img {
  filter: brightness(0) invert(1);
}
.batch-details-page__stat--sky {
  background: #c8e4f5;
  color: #1a2b42;
}
.batch-details-page__stat--sky .batch-details-page__stat-sub {
  color: #6b7c93;
}
.batch-details-page__stat--sky .batch-details-page__stat-icon {
  background: rgba(255, 255, 255, 0.65);
}
.batch-details-page__stat-label {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
}
.batch-details-page__stat-value {
  display: block;
  font-size: 2.15rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.batch-details-page__stat-sub {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.72rem;
  line-height: 1.35;
}
.batch-details-page__stat-icon {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.batch-details-page__stat-icon img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.batch-details-page__table {
  overflow-x: auto;
}
.batch-details-page__table-head, .batch-details-page__row {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 0.55fr) minmax(0, 0.85fr) minmax(90px, auto);
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}
.batch-details-page__table-head {
  padding: 0 0.35rem 0.65rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.batch-details-page__table-head > span:first-child {
  text-align: left;
  justify-self: start;
}
.batch-details-page__table-head > span:not(:first-child) {
  text-align: center;
  justify-self: center;
}
.batch-details-page__table-head .sa-directory-sort-btn {
  display: inline-flex;
  align-items: center;
  justify-content: inherit;
  gap: 0.25rem;
  padding: 0;
  border: none;
  background: transparent;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
  cursor: pointer;
  white-space: nowrap;
}
.batch-details-page__table-head .sa-directory-sort-btn__icon {
  font-size: 0.7rem;
  color: rgba(107, 124, 147, 0.85);
  transition: color 0.2s ease;
}
.batch-details-page__table-head .sa-directory-sort-btn--active {
  color: #0c1f3d;
}
.batch-details-page__table-head .sa-directory-sort-btn--active .sa-directory-sort-btn__icon {
  color: #0c1f3d;
}
.batch-details-page__table-head > span:first-child .sa-directory-sort-btn {
  justify-content: flex-start;
}
.batch-details-page__table-head > span:not(:first-child) .sa-directory-sort-btn {
  justify-content: center;
  width: 100%;
}
.batch-details-page__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 0.35rem;
}
.batch-details-page__row {
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 14px;
  padding: 0.9rem 1rem;
  font-size: 0.82rem;
  color: #1a2b42;
  transition: box-shadow 0.15s, border-color 0.15s;
}
.batch-details-page__row > * {
  min-width: 0;
}
.batch-details-page__row > *:first-child {
  justify-self: start;
  text-align: left;
}
.batch-details-page__row > *:not(:first-child) {
  justify-self: center;
  text-align: center;
}
.batch-details-page__row:hover {
  box-shadow: 0 4px 16px rgba(12, 31, 61, 0.06);
  border-color: #c5d3e0;
}
.batch-details-page__row .badge,
.batch-details-page__row .batch-details-page__badge--completed {
  margin-inline: auto;
}
.batch-details-page__code {
  font-weight: 700;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.batch-details-page__program, .batch-details-page__instructor {
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.batch-details-page__students {
  font-weight: 600;
}
.batch-details-page__action {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
}
.batch-details-page__row .btn--view {
  justify-self: center;
}
.batch-details-page__badge--completed {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  background: #e8edf2;
  color: #6b7c93;
}
@media (max-width: 1200px) {
  .batch-details-page__stats {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 1100px) {
  .batch-details-page .page-header {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  .batch-details-page .page-header__actions {
    width: 100%;
  }
  .batch-details-page .page-header__actions .staff-btn {
    width: 100%;
    justify-content: center;
  }
  .batch-details-page .directory {
    padding: 18px 14px 20px;
  }
  .batch-details-page .directory__header {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  .batch-details-page .directory__tools {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 8px;
  }
  .batch-details-page .directory__search {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    max-width: none;
    padding: 8px 12px;
  }
  .batch-details-page .btn--filter {
    flex: 0 0 auto;
    width: 100%;
    justify-content: center;
    padding: 8px 14px;
  }
  .batch-details-page__table {
    overflow-x: visible;
  }
  .batch-details-page__table-head {
    display: none;
  }
  .batch-details-page__row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 14px 12px;
  }
  .batch-details-page__row > *:first-child,
  .batch-details-page__row > *:not(:first-child) {
    justify-self: stretch;
    text-align: right;
  }
  .batch-details-page__row > [data-label] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    text-align: right;
  }
  .batch-details-page__row > [data-label]::before {
    content: attr(data-label);
    font-size: 11px;
    font-weight: 600;
    color: #6b7c93;
    text-transform: uppercase;
    flex-shrink: 0;
    text-align: left;
  }
  .batch-details-page__row .badge, .batch-details-page__row .batch-details-page__badge--completed {
    margin-inline: 0;
    margin-left: auto;
    flex-shrink: 0;
  }
  .batch-details-page__code, .batch-details-page__program, .batch-details-page__instructor, .batch-details-page__students {
    text-align: right;
  }
  .batch-details-page__action {
    justify-content: flex-end;
    padding-top: 4px;
    width: 100%;
  }
  .batch-details-page__action .btn--view {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}
@media (max-width: 575px) {
  .batch-details-page .page-header {
    margin-bottom: 1rem;
  }
  .batch-details-page .directory {
    padding: 14px 12px 16px;
    border-radius: 18px;
  }
  .batch-details-page .directory__header {
    margin-bottom: 12px;
    gap: 12px;
  }
  .batch-details-page .directory__tools {
    gap: 8px;
  }
  .batch-details-page__stats {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
  }
  .batch-details-page__stat {
    min-height: 0;
    padding: 1rem;
  }
  .batch-details-page__stat-value {
    font-size: 1.85rem;
  }
  .batch-details-page__row {
    padding: 12px;
  }
}

.fto-batch-subtabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
  padding: 0;
  border-bottom: 1px solid #e4e9f0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.fto-batch-subtabs__btn {
  border: none;
  background: transparent;
  color: #7a8799;
  font-size: 0.84rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 0.75rem 0.1rem;
  margin-bottom: -1px;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.fto-batch-subtabs__btn--active {
  color: #1F4169;
  font-weight: 600;
  border-bottom-color: #1F4169;
}

.fto-batch-module .fto-batch-subtab-panels > [hidden] {
  display: none !important;
}
.fto-batch-module .bm-records__head,
.fto-batch-module .bm-records .bm-row {
  display: grid;
  align-items: center;
  gap: 0.65rem 0.85rem;
  padding: 0 1.1rem;
}
.fto-batch-module .bm-records__head {
  margin-bottom: 0.65rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.fto-batch-module .bm-records__head > span:first-child {
  text-align: left;
  justify-self: start;
}
.fto-batch-module .bm-records__head > span:not(:first-child) {
  text-align: center;
  justify-self: center;
}
.fto-batch-module .bm-records__head .sa-directory-sort-btn {
  display: inline-flex;
  align-items: center;
  justify-content: inherit;
  gap: 0.25rem;
  padding: 0;
  border: none;
  background: transparent;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
  cursor: pointer;
  white-space: nowrap;
}
.fto-batch-module .bm-records__head .sa-directory-sort-btn__icon {
  font-size: 0.7rem;
  color: rgba(107, 124, 147, 0.85);
  transition: color 0.2s ease;
}
.fto-batch-module .bm-records__head .sa-directory-sort-btn--active {
  color: #0c1f3d;
}
.fto-batch-module .bm-records__head .sa-directory-sort-btn--active .sa-directory-sort-btn__icon {
  color: #0c1f3d;
}
.fto-batch-module .bm-records__head > span:first-child .sa-directory-sort-btn {
  justify-content: flex-start;
}
.fto-batch-module .bm-records__head > span:not(:first-child) .sa-directory-sort-btn {
  justify-content: center;
  width: 100%;
}
.fto-batch-module .bm-records--programs .bm-records__head,
.fto-batch-module .bm-records--programs .bm-row--programs {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.5fr) minmax(0, 0.7fr) minmax(0, 0.75fr) minmax(90px, auto);
}
.fto-batch-module .bm-records--classrooms .bm-records__head,
.fto-batch-module .bm-records--classrooms .bm-row--classrooms {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.75fr) minmax(0, 0.6fr) minmax(0, 0.7fr) minmax(0, 1.05fr) minmax(90px, auto);
}
.fto-batch-module .bm-records--lessons .bm-records__head,
.fto-batch-module .bm-records--lessons .bm-row--lessons {
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 0.9fr) minmax(0, 0.95fr) minmax(0, 0.55fr) minmax(0, 0.6fr) minmax(0, 0.7fr) minmax(90px, auto);
}
.fto-batch-module .bm-records .bm-row {
  margin-bottom: 0.65rem;
  min-height: 58px;
  padding-top: 0.9rem;
  padding-bottom: 0.9rem;
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(12, 31, 61, 0.06);
  font-size: 0.82rem;
  font-weight: 500;
  color: #1a2b42;
}
.fto-batch-module .bm-records .bm-row > * {
  min-width: 0;
}
.fto-batch-module .bm-records .bm-row > *:first-child {
  justify-self: start;
  text-align: left;
}
.fto-batch-module .bm-records .bm-row > *:not(:first-child) {
  justify-self: center;
  text-align: center;
}
.fto-batch-module .bm-row__name {
  font-size: 0.9rem;
  font-weight: 700;
  color: #1a2b42;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.fto-batch-module .bm-row__action {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
}
.fto-batch-module .bm-records .bm-row .badge {
  margin-inline: auto;
}

@media (max-width: 1100px) {
  .fto-batch-module .bm-records {
    overflow-x: visible;
  }
  .fto-batch-module .bm-records__head {
    display: none;
  }
  .fto-batch-module .bm-records__head,
  .fto-batch-module .bm-records .bm-row {
    min-width: 0;
  }
  .fto-batch-module .bm-records .bm-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 1rem;
    min-height: 0;
  }
  .fto-batch-module .bm-records .bm-row > *:first-child,
  .fto-batch-module .bm-records .bm-row > *:not(:first-child) {
    justify-self: stretch;
    text-align: right;
  }
  .fto-batch-module .bm-records .bm-row > [data-label] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    text-align: right;
  }
  .fto-batch-module .bm-records .bm-row > [data-label]::before {
    content: attr(data-label);
    font-size: 11px;
    font-weight: 600;
    color: #6b7c93;
    text-transform: uppercase;
    flex-shrink: 0;
    text-align: left;
  }
  .fto-batch-module .bm-records .bm-row .badge,
  .fto-batch-module .bm-records .bm-row .batch-details-page__badge--completed {
    margin-inline: 0;
    margin-left: auto;
    flex-shrink: 0;
  }
  .fto-batch-module .bm-records .bm-row__name {
    text-align: right;
  }
  .fto-batch-module .bm-records .bm-row__action {
    justify-content: flex-end;
    padding-top: 4px;
    width: 100%;
  }
  .fto-batch-module .bm-records .bm-row__action .btn--view {
    width: 100%;
    justify-content: center;
  }
  .fto-batch-subtabs {
    gap: 1rem;
    margin-bottom: 1rem;
  }
  .fto-batch-subtabs__btn {
    font-size: 0.8rem;
    padding: 0.65rem 0.1rem;
  }
}
.fto-batch-detail__header-actions {
  flex-shrink: 0;
}

.fto-staff-detail__header-actions {
  flex-shrink: 0;
}

.fto-cgi-instructor-detail__header-actions {
  flex-shrink: 0;
}

.fto-staff-detail__section-desc {
  margin: -10px 0 18px;
  font-size: 13px;
  color: #6b7c93;
}

.fto-staff-detail__profile {
  margin-bottom: 0;
}

.batch-detail__hero {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 1rem;
  margin-bottom: 1.5rem;
  align-items: stretch;
}
.batch-detail__hero--split {
  grid-template-columns: 1fr 1.5fr;
  margin-bottom: 0;
}

.batch-detail-profile {
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 14px;
  box-shadow: 0 2px 10px rgba(11, 31, 63, 0.04);
  padding: 1.25rem 1.35rem 1.35rem;
}
.batch-detail-profile__head {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding-bottom: 1.15rem;
  margin-bottom: 1.15rem;
  border-bottom: 1px solid #edf1f5;
  flex-wrap: wrap;
}
.batch-detail-profile__icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #c8e4f5;
  color: #3b82c4;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.batch-detail-profile__icon svg {
  width: 26px;
  height: 26px;
}
.batch-detail-profile__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.batch-detail-profile__code {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: #6b7c93;
  margin-top: 0.15rem;
}
.batch-detail-profile__identity {
  flex: 1;
  min-width: 0;
}
.batch-detail-profile__name {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1a2b42;
}
.batch-detail-profile__status {
  flex-shrink: 0;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  background: #e3f5ec;
  color: #22a06b;
}
.batch-detail-profile__status--inactive {
  background: #eef2f6;
  color: #6b7c93;
}
.batch-detail-profile__toggle {
  position: relative;
  flex-shrink: 0;
  cursor: pointer;
  margin: 0;
}
.batch-detail-profile__toggle input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.batch-detail-profile__toggle-track {
  position: relative;
  display: block;
  width: 44px;
  height: 24px;
  border-radius: 999px;
  background: #22a06b;
  transition: background 0.2s ease;
}
.batch-detail-profile__toggle-track::after {
  content: "";
  position: absolute;
  top: 3px;
  right: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(12, 31, 61, 0.2);
  transition: transform 0.2s ease;
}
.batch-detail-profile__toggle input:not(:checked) + .batch-detail-profile__toggle-track {
  background: #cbd5e1;
}
.batch-detail-profile__toggle input:not(:checked) + .batch-detail-profile__toggle-track::after {
  transform: translateX(-20px);
}
.batch-detail-profile__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.batch-detail-profile__field {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.75rem 1rem;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 12px;
  min-height: 0;
  min-width: 0;
}
.batch-detail-profile__field-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid #eef2f6;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #6b7c93;
}
.batch-detail-profile__field-icon svg {
  width: 16px;
  height: 16px;
}
.batch-detail-profile__field-icon i {
  font-size: 0.95rem;
  line-height: 1;
}
.batch-detail-profile__field-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  min-width: 0;
  width: 100%;
}
.batch-detail-profile__field-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
  margin-bottom: 0;
  line-height: 1.25;
}
.batch-detail-profile__field-value {
  display: block;
  width: 100%;
  font-size: 0.85rem;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.35;
  overflow-wrap: break-word;
  word-break: normal;
}
.batch-detail-profile__verify {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding-top: 0.25rem;
}
.batch-detail-profile__verify-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.65rem 1rem;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 12px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #1a2b42;
}
.batch-detail-profile__verify-item svg {
  width: 18px;
  height: 18px;
  color: #3b82c4;
  flex-shrink: 0;
}

.batch-detail-overview .cgi-tabs {
  margin-top: 1rem;
  margin-bottom: 1.15rem;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.batch-detail-overview .cgi-tabs::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.batch-detail-overview .cgi-tabs__list {
  min-width: max-content;
  flex-wrap: nowrap;
}

.batch-detail-overview-panel {
  padding-top: 0.15rem;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.batch-detail-overview-panel .directory,
.batch-detail-overview-panel .fto-directory-table {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.batch-detail-overview-panel .cgi-feedback-ratings-scroll,
.classroom-detail-schedule-panel .cgi-feedback-ratings-scroll {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
}

.batch-detail-overview-panel .cgi-feedback-ratings-scroll__inner,
.classroom-detail-schedule-panel .cgi-feedback-ratings-scroll__inner {
  width: max-content;
  min-width: 100%;
}

.batch-detail-section-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 1rem;
  font-size: 0.88rem;
  font-weight: 700;
  color: #1a2b42;
}
.batch-detail-section-title::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 2px;
  background: #3b82c4;
  flex-shrink: 0;
}

.batch-detail-classes__head, .batch-detail-classes__row {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, 1fr) minmax(110px, 0.75fr);
  align-items: center;
  gap: 1rem;
  padding: 0 0.35rem;
}
.batch-detail-classes__head {
  font-size: 0.68rem;
  font-weight: 600;
  color: #6b7c93;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
  padding: 0 1.1rem;
}
.batch-detail-classes__head span:last-child {
  text-align: left;
}
.batch-detail-classes__row {
  background: #ffffff;
  border: 1px solid #e8edf3;
  border-radius: 14px;
  padding: 1rem 1.15rem;
  margin-bottom: 0.7rem;
  box-shadow: 0 2px 10px rgba(12, 31, 61, 0.035);
  font-size: 0.84rem;
  transition: box-shadow 0.15s, border-color 0.15s;
}
.batch-detail-classes__row:hover {
  border-color: #d5dee8;
  box-shadow: 0 4px 14px rgba(12, 31, 61, 0.06);
}
.batch-detail-classes__row:last-child {
  margin-bottom: 0;
}
.batch-detail-classes__subject {
  display: block;
  min-width: 0;
  max-width: 100%;
}
.batch-detail-classes__subject strong {
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.3;
}
.batch-detail-classes__class-name {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 0.15rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.72rem;
  font-weight: 500;
  color: #6b7c93;
  line-height: 1.35;
  cursor: help;
  box-sizing: border-box;
}
.batch-detail-classes__value {
  color: #1a2b42;
  font-weight: 500;
}
.batch-detail-classes__status {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.batch-detail-activity__head, .batch-detail-activity__row {
  display: grid;
  grid-template-columns: 1.1fr 1.6fr 1fr 100px;
  align-items: center;
  gap: 1.25rem;
  padding: 0 0.35rem;
}
.batch-detail-activity__head {
  font-size: 0.68rem;
  font-weight: 600;
  color: #6b7c93;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
  padding: 0 1.1rem;
}
.batch-detail-activity__row {
  background: #ffffff;
  border: 1px solid #e8edf3;
  border-radius: 999px;
  padding: 1rem 1.35rem;
  margin-bottom: 0.7rem;
  box-shadow: 0 2px 10px rgba(12, 31, 61, 0.035);
  font-size: 0.84rem;
  transition: box-shadow 0.15s, border-color 0.15s;
}
.batch-detail-activity__row:hover {
  border-color: #d5dee8;
  box-shadow: 0 4px 14px rgba(12, 31, 61, 0.06);
}
.batch-detail-activity__row:last-child {
  margin-bottom: 0;
}
.batch-detail-activity__datetime {
  font-weight: 700;
  color: #1a2b42;
}
.batch-detail-activity__desc, .batch-detail-activity__user {
  color: #1a2b42;
  font-weight: 500;
}
.batch-detail-activity__status {
  display: flex;
  justify-content: flex-start;
}

.batch-detail-schedule {
  min-width: 0;
  max-width: 100%;
  width: 100%;
  grid-template-columns: 280px minmax(0, 1fr);
}
.batch-detail-schedule > .sd-calendar,
.batch-detail-schedule > .batch-detail-overview-panel,
.batch-detail-schedule > .classroom-detail-schedule-panel {
  min-width: 0;
}
.batch-detail-schedule .sd-timeline__card {
  align-items: flex-start;
  border-radius: 14px;
  padding: 0.9rem 1.15rem;
}
.batch-detail-schedule .sd-timeline__icon {
  margin-top: 0.1rem;
}
.batch-detail-schedule .sd-timeline__body {
  flex: 1;
  min-width: 0;
}
.batch-detail-schedule .sd-timeline__body strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.batch-detail-schedule .sd-timeline__class {
  display: block;
  margin-top: 0.15rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.72rem;
  font-weight: 500;
  color: #6b7c93;
  line-height: 1.35;
  cursor: help;
}
.batch-detail-schedule .sd-timeline__meta {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.72rem;
  color: #6b7c93;
  line-height: 1.35;
}
.batch-detail-schedule .sd-timeline__card .sd-badge {
  margin-top: 0.15rem;
  align-self: flex-start;
}
.batch-detail-schedule .sd-timeline__item:last-child {
  margin-bottom: 0;
}

@media (max-width: 1199.98px) {
  .batch-detail-schedule {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
  }
  .batch-detail-schedule > .sd-calendar {
    width: 280px;
    max-width: 100%;
    flex-shrink: 0;
  }
  .batch-detail-schedule > .batch-detail-overview-panel,
  .batch-detail-schedule > .classroom-detail-schedule-panel,
  .batch-detail-schedule > .sd-timeline {
    align-self: stretch;
    width: 100%;
    min-width: 0;
  }
}
.batch-detail-instructors {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.batch-detail-instructor-card {
  background: #ffffff;
  border: 1px solid #d5dee8;
  border-radius: 14px;
  padding: 1.15rem 1.25rem;
  box-shadow: 0 2px 10px rgba(11, 31, 63, 0.04);
}
.batch-detail-instructor-card__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.batch-detail-instructor-card__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid #ffffff;
  box-shadow: 0 2px 8px rgba(12, 31, 61, 0.1);
}
.batch-detail-instructor-card__identity {
  flex: 1;
  min-width: 0;
}
.batch-detail-instructor-card__identity h3 {
  margin: 0 0 0.15rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: #1a2b42;
}
.batch-detail-instructor-card__identity p {
  margin: 0;
  font-size: 0.76rem;
  color: #6b7c93;
}
.batch-detail-instructor-card__actions {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-shrink: 0;
}
.batch-detail-instructor-card__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}
.batch-detail-instructor-card__stat {
  background: linear-gradient(135deg, #0c1f3d 0%, #1a3352 100%);
  border-radius: 12px;
  padding: 0.75rem 0.9rem;
  color: #ffffff;
}
.batch-detail-instructor-card__stat span {
  display: block;
  font-size: 0.68rem;
  opacity: 0.85;
  margin-bottom: 0.25rem;
}
.batch-detail-instructor-card__stat strong {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}
.batch-detail-instructor-card__meta-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.7rem 1rem;
  background: #ffffff;
  border: 1px solid #e8edf3;
  border-radius: 999px;
  font-size: 0.78rem;
  color: #6b7c93;
}
.batch-detail-instructor-card__meta-row + .batch-detail-instructor-card__meta-row {
  margin-top: 0.5rem;
}
.batch-detail-instructor-card__meta-row span:last-child {
  font-weight: 600;
  color: #1a2b42;
}

.batch-detail-students__head, .batch-detail-students__row {
  display: grid;
  grid-template-columns: 56px 1.2fr 0.9fr 0.7fr 1.1fr 90px;
  align-items: center;
  gap: 1rem;
  padding: 0 0.35rem;
}
.batch-detail-students__head {
  font-size: 0.68rem;
  font-weight: 600;
  color: #6b7c93;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
  padding: 0 1.1rem;
}
.batch-detail-students__head span:last-child {
  text-align: right;
}
.batch-detail-students__row {
  background: #ffffff;
  border: 1px solid #e8edf3;
  border-radius: 16px;
  padding: 0.85rem 1.35rem;
  margin-bottom: 0.7rem;
  box-shadow: 0 2px 10px rgba(12, 31, 61, 0.035);
  font-size: 0.84rem;
  transition: box-shadow 0.15s, border-color 0.15s;
}
.batch-detail-students__row:hover {
  border-color: #d5dee8;
  box-shadow: 0 4px 14px rgba(12, 31, 61, 0.06);
}
.batch-detail-students__row:last-child {
  margin-bottom: 0;
}
.batch-detail-students__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
}
.batch-detail-students__avatar img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #ffffff;
  box-shadow: 0 2px 8px rgba(12, 31, 61, 0.1);
}
.batch-detail-students__name {
  font-weight: 700;
  color: #1a2b42;
}
.batch-detail-students__value {
  color: #1a2b42;
  font-weight: 500;
}
.batch-detail-students__status {
  display: flex;
  justify-content: flex-end;
}

.staff-detail-stat__chart--line.staff-detail-stat__chart--blue svg {
  color: #3b82c4;
}

@media (max-width: 1200px) {
  .batch-detail__hero {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 900px) {
  .fto-batch-detail__header-actions,
  .fto-classroom-detail__header-actions,
  .fto-lesson-plan-detail__header-actions,
  .fto-staff-detail__header-actions,
  .fto-cgi-instructor-detail__header-actions {
    width: 100%;
  }
  .fto-batch-detail__header-actions .staff-btn,
  .fto-batch-detail__header-actions .cgi-details-btn,
  .fto-batch-detail__header-actions .btn,
  .fto-classroom-detail__header-actions .staff-btn,
  .fto-classroom-detail__header-actions .cgi-details-btn,
  .fto-classroom-detail__header-actions .btn,
  .fto-lesson-plan-detail__header-actions .staff-btn,
  .fto-lesson-plan-detail__header-actions .cgi-details-btn,
  .fto-lesson-plan-detail__header-actions .btn,
  .fto-staff-detail__header-actions .staff-btn,
  .fto-staff-detail__header-actions .cgi-details-btn,
  .fto-staff-detail__header-actions .btn,
  .fto-cgi-instructor-detail__header-actions .staff-btn,
  .fto-cgi-instructor-detail__header-actions .cgi-details-btn,
  .fto-cgi-instructor-detail__header-actions .btn {
    flex: 1 1 auto;
    justify-content: center;
  }
  .batch-detail-profile__grid {
    grid-template-columns: 1fr;
  }
  .batch-detail-classes__head,
  .batch-detail-classes__row {
    min-width: 860px;
  }
  .batch-detail-classes {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .batch-detail-students__head,
  .batch-detail-students__row {
    min-width: 820px;
  }
  .batch-detail-students {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .batch-detail-instructors {
    grid-template-columns: 1fr;
  }
  .batch-detail-activity__head,
  .batch-detail-activity__row {
    min-width: 820px;
  }
  .batch-detail-activity {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .batch-detail-classes__head,
  .batch-detail-students__head,
  .batch-detail-activity__head {
    display: none;
  }
  .batch-detail-classes,
  .batch-detail-students,
  .batch-detail-activity {
    overflow-x: visible;
  }
  .batch-detail-classes__row,
  .batch-detail-students__row,
  .batch-detail-activity__row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    min-width: 0;
    border-radius: 16px;
    padding: 16px;
  }
  .batch-detail-classes__row > [data-label],
  .batch-detail-students__row > [data-label],
  .batch-detail-activity__row > [data-label] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%;
  }
  .batch-detail-classes__row > [data-label]::before,
  .batch-detail-students__row > [data-label]::before,
  .batch-detail-activity__row > [data-label]::before {
    content: attr(data-label);
    font-size: 11px;
    font-weight: 600;
    color: #6b7c93;
    text-transform: uppercase;
    flex-shrink: 0;
  }
  .batch-detail-classes__status,
  .batch-detail-students__status,
  .batch-detail-activity__status {
    justify-content: flex-end;
  }
}
.program-detail-overview .cgi-tabs,
.classroom-detail-overview .cgi-tabs {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.program-detail-overview .cgi-tabs::-webkit-scrollbar,
.classroom-detail-overview .cgi-tabs::-webkit-scrollbar {
  display: none;
}
.program-detail-overview .cgi-tabs__list,
.classroom-detail-overview .cgi-tabs__list {
  flex-wrap: nowrap;
}
.program-detail-overview .cgi-tabs__btn,
.classroom-detail-overview .cgi-tabs__btn {
  flex-shrink: 0;
}

.program-overview-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.15rem;
}
.program-overview-stats--cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.classroom-overview-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
  margin-bottom: 1.15rem;
}

.program-overview-stat,
.classroom-overview-stat {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(11, 31, 63, 0.04);
}
.program-overview-stat__icon,
.classroom-overview-stat__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 12px;
  background: #eef2ff;
  color: #4f46e5;
}
.program-overview-stat__icon svg,
.classroom-overview-stat__icon svg {
  width: 20px;
  height: 20px;
}
.program-overview-stat__icon--sky,
.classroom-overview-stat__icon--sky {
  background: #e0f2fe;
  color: #0284c7;
}
.program-overview-stat__icon--green,
.classroom-overview-stat__icon--green {
  background: #e3f5ec;
  color: #22a06b;
}
.program-overview-stat__icon--coral,
.classroom-overview-stat__icon--coral {
  background: #fff1f2;
  color: #c53030;
}
.program-overview-stat__icon--violet,
.classroom-overview-stat__icon--violet {
  background: #f3e8ff;
  color: #7c3aed;
}
.program-overview-stat__label,
.classroom-overview-stat__label {
  display: block;
  font-size: 0.68rem;
  font-weight: 600;
  color: #6b7c93;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.15rem;
}
.program-overview-stat__value,
.classroom-overview-stat__value {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.1;
}

button.program-overview-stat {
  width: 100%;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
button.program-overview-stat:hover, button.program-overview-stat:focus-visible {
  border-color: rgba(12, 31, 61, 0.28);
  box-shadow: 0 8px 22px rgba(12, 31, 61, 0.1);
  transform: translateY(-1px);
  outline: none;
}
button.program-overview-stat.is-active {
  border-color: rgba(12, 31, 61, 0.45);
  box-shadow: 0 0 0 3px rgba(12, 31, 61, 0.08);
}

.program-overview-grid,
.classroom-overview-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 1rem;
  align-items: start;
}

.program-overview-card,
.classroom-overview-card {
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 18px;
  box-shadow: 0 2px 10px rgba(11, 31, 63, 0.04);
  padding: 1.15rem 1.2rem;
  margin-bottom: 1rem;
}
.program-overview-card__head,
.classroom-overview-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #edf1f5;
}
.program-overview-card__title,
.classroom-overview-card__title {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  color: #1a2b42;
}
.program-overview-card__badge,
.classroom-overview-card__badge {
  display: inline-flex;
  padding: 0.22rem 0.65rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 600;
  color: #22a06b;
  background: #e3f5ec;
  border: 1px solid rgba(34, 160, 107, 0.2);
}
.program-overview-card__badge--inactive,
.classroom-overview-card__badge--inactive {
  color: #6b7c93;
  background: #eef2f6;
  border-color: #e2e8f0;
}
.program-overview-card__count,
.classroom-overview-card__count {
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
}
.program-overview-card__text,
.classroom-overview-card__text {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.65;
  color: #1a2b42;
}
.program-overview-card__meta,
.classroom-overview-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid #edf1f5;
  font-size: 0.75rem;
  color: #6b7c93;
}
.program-overview-card__meta strong,
.classroom-overview-card__meta strong {
  color: #1a2b42;
  font-weight: 600;
}

.program-inclusion-list,
.classroom-feature-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.classroom-feature-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 12px;
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.45;
  color: #1a2b42;
}
.classroom-feature-list__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  border-radius: 999px;
  background: #e3f5ec;
  color: #22a06b;
}
.classroom-feature-list__check svg {
  width: 12px;
  height: 12px;
}

.program-inclusion-list li {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
}
.program-inclusion-list__btn {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid #eef2f6;
  border-radius: 12px;
  background: #f8fafc;
  text-align: left;
  color: #1a2b42;
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.45;
  font-family: inherit;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.program-inclusion-list__btn:hover, .program-inclusion-list__btn:focus-visible {
  background: #eef5fb;
  outline: none;
}
.program-inclusion-list__btn.is-active {
  width: 100%;
  background: #e8f1fa;
  border-color: rgba(31, 65, 105, 0.28);
}
.program-inclusion-list__body {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  flex: 1 1 auto;
  min-width: 0;
}
.program-inclusion-list__name {
  font-weight: 600;
  color: #1a2b42;
}
.program-inclusion-list__lesson {
  font-size: 0.72rem;
  font-weight: 500;
  color: #6b7c93;
}
.program-inclusion-list__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  border-radius: 999px;
  background: #e3f5ec;
  color: #22a06b;
}
.program-inclusion-list__check svg {
  width: 12px;
  height: 12px;
}

.classroom-equipment-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}
.classroom-equipment-grid li {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 12px;
  font-size: 0.78rem;
  color: #1a2b42;
}
.classroom-equipment-grid__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border-radius: 10px;
  background: #eef2ff;
  color: #4f46e5;
}
.classroom-equipment-grid__icon svg {
  width: 16px;
  height: 16px;
}

.fto-batch-module .bm-records--compact .bm-records__head,
.fto-batch-module .bm-records--compact .bm-row {
  grid-template-columns: 1fr 1.1fr 0.55fr 0.7fr 88px;
}

.fto-lesson-plan-detail__profile .batch-detail-profile__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fto-cgi-instructor-detail__profile .batch-detail-profile__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.classroom-detail-profile {
  margin-bottom: 0;
}
.classroom-detail-profile.batch-detail-profile {
  margin-bottom: 0;
  height: 100%;
}
.classroom-detail-profile .batch-detail-profile__grid {
  display: none;
}
.classroom-detail-profile__description {
  padding-top: 0.15rem;
}
.classroom-detail-profile .batch-detail-profile__field-label {
  display: block;
  margin-bottom: 0.35rem;
}
.classroom-detail-profile .batch-detail-profile__desc {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: #6b7c93;
}

.classroom-detail__hero {
  margin-bottom: 0;
}

.classroom-detail-classes-section {
  margin-top: 0;
}
.classroom-detail-classes-section__title {
  margin: 1.55rem 0 0.75rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: #1f4169;
  letter-spacing: -0.02em;
  line-height: 1.25;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}
.classroom-detail-classes-section__title--today {
  margin: 0 0 0.75rem;
}

.fto-adm-ui .classroom-detail-classes-section__title {
  margin: 1.55rem 0 0.75rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: #1f4169;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.fto-adm-ui .classroom-detail-classes-section__title--today {
  margin: 0 0 0.75rem;
}

#classroom-schedule-heading {
  font-size: 26px;
  font-weight: 700;
  color: #1a2b42;
  letter-spacing: -0.02em;
  margin: 0 0 1.05rem;
}

.classroom-detail-schedule-tools {
  margin-bottom: 1rem;
}

.classroom-detail-schedule-tools .directory__tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
}

.fto-adm-ui .classroom-detail-classes-table .col-subject {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}
.fto-adm-ui .classroom-detail-classes-table .col-subject strong {
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .classroom-detail-classes-table .classroom-detail-classes-row__lesson {
  font-size: 0.82rem;
  color: #6b7c93;
  line-height: 1.3;
}
@media (min-width: 992px) {
  .fto-adm-ui .classroom-detail-classes-table .table-head,
  .fto-adm-ui .classroom-detail-classes-table .fto-directory-row.classroom-detail-classes-row {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.2fr) minmax(0, 1.05fr) minmax(0, 0.7fr) minmax(0, 0.85fr) minmax(0, 1.05fr) minmax(5.5rem, 0.55fr);
    min-width: 1080px;
  }
}
@media (min-width: 992px) {
  .fto-adm-ui .classroom-detail-classes-table--completed .table-head,
  .fto-adm-ui .classroom-detail-classes-table--completed .fto-directory-row.classroom-detail-classes-row {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.2fr) minmax(0, 1.1fr) minmax(0, 0.65fr) minmax(0, 0.75fr) minmax(0, 1.05fr) minmax(5.5rem, 0.55fr);
    min-width: 1080px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .classroom-detail-classes-table .table-head {
    display: none !important;
  }
  .fto-adm-ui .classroom-detail-classes-table .table-head,
  .fto-adm-ui .classroom-detail-classes-table .fto-directory-row.classroom-detail-classes-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}

@media (min-width: 992px) {
  .fto-adm-ui .classroom-detail-schedule-table .table-head,
  .fto-adm-ui .classroom-detail-schedule-table .fto-directory-row.classroom-detail-schedule-row {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr) minmax(0, 1.15fr) minmax(0, 0.75fr) minmax(0, 0.85fr);
    min-width: 860px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .classroom-detail-schedule-table .table-head,
  .fto-adm-ui .classroom-detail-schedule-table .fto-directory-row.classroom-detail-schedule-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}

.fto-staff-detail__profile .batch-detail-profile__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.fto-staff-detail__profile .batch-detail-profile__field-value {
  word-break: break-word;
}

.fto-staff-detail__sections .detail-field__value {
  max-width: 58%;
}
@media (max-width: 575.98px) {
  .fto-staff-detail__sections .detail-field {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
  }
  .fto-staff-detail__sections .detail-field__value {
    max-width: 100%;
    text-align: left;
  }
}

.fto-adm-ui .fto-lesson-plan-detail__details .directory__header {
  margin-bottom: 1.25rem;
}
.fto-adm-ui .fto-lesson-plan-detail__details .detail-overview {
  padding: 0;
}
.fto-adm-ui .fto-lesson-plan-detail__details .detail-field--full {
  grid-column: 1/-1;
}

@media (max-width: 1100px) {
  .program-overview-stats,
  .classroom-overview-stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .program-overview-grid,
  .classroom-overview-grid {
    grid-template-columns: 1fr;
  }
  .classroom-equipment-grid {
    grid-template-columns: 1fr;
  }
  .fto-lesson-plan-detail__profile .batch-detail-profile__grid,
  .fto-cgi-instructor-detail__profile .batch-detail-profile__grid,
  .fto-staff-detail__profile .batch-detail-profile__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575px) {
  .program-overview-stats,
  .classroom-overview-stats {
    grid-template-columns: 1fr;
  }
  .fto-lesson-plan-detail__profile .batch-detail-profile__grid,
  .fto-cgi-instructor-detail__profile .batch-detail-profile__grid,
  .fto-staff-detail__profile .batch-detail-profile__grid {
    grid-template-columns: 1fr;
  }
}
.batch-detail-tab__toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.batch-detail-tab__title {
  margin: 0 0 0.25rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #0b1f3f;
}
.batch-detail-tab__desc {
  margin: 0;
  font-size: 0.78rem;
  color: #7a8799;
  max-width: 36rem;
  line-height: 1.45;
}
.batch-detail-tab__tools {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}
.batch-detail-tab__tools .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}
.batch-detail-tab__tools .btn--filter {
  white-space: nowrap;
}
.batch-detail-tab__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.65rem;
  margin-bottom: 1.15rem;
}
.batch-detail-tab__stat {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.85rem 1rem;
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  border: 1px solid #e8edf3;
  border-radius: 14px;
  text-align: center;
}
.batch-detail-tab__stat--highlight {
  background: linear-gradient(135deg, #1f4068 0%, #1a3352 100%);
  border-color: transparent;
}
.batch-detail-tab__stat--highlight .batch-detail-tab__stat-value,
.batch-detail-tab__stat--highlight .batch-detail-tab__stat-label {
  color: #ffffff;
}
.batch-detail-tab__stat--highlight .batch-detail-tab__stat-label {
  opacity: 0.85;
}
.batch-detail-tab__stat-value {
  font-size: 1.15rem;
  font-weight: 700;
  color: #0b1f3f;
  line-height: 1.1;
}
.batch-detail-tab__stat-label {
  font-size: 0.68rem;
  font-weight: 600;
  color: #7a8799;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.classroom-assigned__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}
.classroom-assigned__empty {
  grid-column: 1/-1;
  padding: 1.5rem;
  text-align: center;
  background: #f8fafc;
  border: 1px dashed #e2e8f0;
  border-radius: 14px;
}

.fto-adm-ui .classroom-assigned-directory .directory__header {
  margin-bottom: 1.25rem;
}
.fto-adm-ui .classroom-assigned-directory .classroom-assigned-stats.stats--content {
  margin-bottom: 1.25rem;
}

.classroom-assigned-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 18px;
  box-shadow: 0 2px 10px rgba(11, 31, 63, 0.04);
  padding: 1rem 1.1rem;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.classroom-assigned-card:hover {
  border-color: #b8c5d4;
  box-shadow: 0 6px 28px rgba(13, 27, 46, 0.1);
  transform: translateY(-1px);
}
.classroom-assigned-card__head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid #edf1f5;
}
.classroom-assigned-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 12px;
  background: #fff0eb;
  color: #ea580c;
}
.classroom-assigned-card__icon svg {
  width: 18px;
  height: 18px;
}
.classroom-assigned-card__icon--sky {
  background: #e0f2fe;
  color: #0284c7;
}
.classroom-assigned-card__icon--green {
  background: #e3f5ec;
  color: #22c55e;
}
.classroom-assigned-card__identity {
  flex: 1;
  min-width: 0;
}
.classroom-assigned-card__identity strong {
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  color: #0b1f3f;
  line-height: 1.25;
}
.classroom-assigned-card__identity span {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.72rem;
  color: #7a8799;
  font-weight: 500;
}
.classroom-assigned-card__fields {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.55rem;
  flex: 1;
  margin-bottom: 0.85rem;
}
.classroom-assigned-card__field {
  padding: 0.55rem 0.7rem;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 10px;
}
.classroom-assigned-card__field span {
  display: block;
  font-size: 0.65rem;
  font-weight: 600;
  color: #7a8799;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.15rem;
}
.classroom-assigned-card__field strong {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: #0b1f3f;
  line-height: 1.35;
}
.classroom-assigned-card__foot {
  display: flex;
  justify-content: flex-end;
  padding-top: 0.85rem;
  border-top: 1px solid #edf1f5;
}

.classroom-detail-activity {
  margin-top: 0;
}

@media (max-width: 1100px) {
  .classroom-assigned__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 575px) {
  .classroom-assigned .directory__tools {
    width: 100%;
  }
  .classroom-assigned .directory__tools .directory__search {
    flex: 1;
    min-width: 0;
    max-width: none;
  }
  .classroom-assigned-card__fields {
    grid-template-columns: 1fr;
  }
  .classroom-assigned-card__head {
    flex-wrap: wrap;
  }
}
.program-students__toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.15rem;
}
.program-students__title {
  margin: 0 0 0.25rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #0b1f3f;
}
.program-students__desc {
  margin: 0;
  font-size: 0.78rem;
  color: #7a8799;
}
.program-students__tools .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}
.program-students__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}
.program-students__empty {
  grid-column: 1/-1;
  padding: 1.5rem;
  text-align: center;
  background: #f8fafc;
  border: 1px dashed #e2e8f0;
  border-radius: 14px;
}

.program-student-card {
  display: block;
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 18px;
  box-shadow: 0 2px 10px rgba(11, 31, 63, 0.04);
  padding: 1rem 1.1rem;
}
.program-student-card__top {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid #edf1f5;
}
.program-student-card__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid #eef2f6;
}
.program-student-card__identity {
  flex: 1;
  min-width: 0;
}
.program-student-card__identity strong {
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  color: #0b1f3f;
  line-height: 1.2;
}
.program-student-card__identity span {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.72rem;
  color: #7a8799;
  font-weight: 500;
}
.program-student-card__fields {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.55rem;
}
.program-student-card__field {
  padding: 0.55rem 0.7rem;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 10px;
}
.program-student-card__field span {
  display: block;
  font-size: 0.65rem;
  font-weight: 600;
  color: #7a8799;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.15rem;
}
.program-student-card__field strong {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: #0b1f3f;
}

.program-lesson-plans__toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.program-lesson-plans__title {
  margin: 0 0 0.25rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #0b1f3f;
}
.program-lesson-plans__desc {
  margin: 0;
  font-size: 0.78rem;
  color: #7a8799;
  max-width: 36rem;
  line-height: 1.45;
}
.program-lesson-plans__tools {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}
.program-lesson-plans__tools .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}
.program-lesson-plans__summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.65rem;
  margin-bottom: 1.15rem;
}
.program-lesson-plans__stat {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.85rem 1rem;
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  border: 1px solid #e8edf3;
  border-radius: 14px;
  text-align: center;
}
.program-lesson-plans__stat-value {
  font-size: 1.15rem;
  font-weight: 700;
  color: #0b1f3f;
  line-height: 1.1;
}
.program-lesson-plans__stat-label {
  font-size: 0.68rem;
  font-weight: 600;
  color: #7a8799;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.program-lesson-plans__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}
.program-lesson-plans__empty {
  grid-column: 1/-1;
  padding: 1.5rem;
  text-align: center;
  background: #f8fafc;
  border: 1px dashed #e2e8f0;
  border-radius: 14px;
}

.program-lesson-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 18px;
  box-shadow: 0 2px 10px rgba(11, 31, 63, 0.04);
  padding: 1rem 1.1rem;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.program-lesson-card:hover {
  border-color: #b8c5d4;
  box-shadow: 0 6px 28px rgba(13, 27, 46, 0.1);
  transform: translateY(-1px);
}
.program-lesson-card--featured {
  grid-column: 1/-1;
  background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
  border-color: #d4e4f7;
}
.program-lesson-card--featured .program-lesson-card__fields {
  grid-template-columns: repeat(4, 1fr);
}
.program-lesson-card__head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid #edf1f5;
}
.program-lesson-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  border-radius: 12px;
  background: #eef2ff;
  color: #4f46e5;
}
.program-lesson-card__icon svg {
  width: 20px;
  height: 20px;
}
.program-lesson-card__icon--sky {
  background: #e0f2fe;
  color: #0284c7;
}
.program-lesson-card__icon--green {
  background: #e3f5ec;
  color: #22c55e;
}
.program-lesson-card__icon--coral {
  background: #fff0eb;
  color: #ea580c;
}
.program-lesson-card__identity {
  flex: 1;
  min-width: 0;
}
.program-lesson-card__identity strong {
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  color: #0b1f3f;
  line-height: 1.25;
}
.program-lesson-card__identity span {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.72rem;
  color: #7a8799;
  font-weight: 500;
}
.program-lesson-card__fields {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.55rem;
  flex: 1;
}
.program-lesson-card__field {
  padding: 0.55rem 0.7rem;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 10px;
}
.program-lesson-card__field span {
  display: block;
  font-size: 0.65rem;
  font-weight: 600;
  color: #7a8799;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.15rem;
}
.program-lesson-card__field strong {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: #0b1f3f;
  line-height: 1.35;
}
.program-lesson-card__foot {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.9rem;
  padding-top: 0.85rem;
  border-top: 1px solid #edf1f5;
}
.program-lesson-card__foot .btn--view {
  min-width: 108px;
}

.program-detail-reports {
  margin-top: 0;
}

@media (max-width: 1100px) {
  .program-students__grid,
  .program-lesson-plans__grid {
    grid-template-columns: 1fr;
  }
  .program-lesson-card--featured .program-lesson-card__fields {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575px) {
  .program-students__tools,
  .program-lesson-plans__tools {
    width: 100%;
  }
  .program-students__tools .directory__search,
  .program-lesson-plans__tools .directory__search {
    flex: 1;
    min-width: 0;
  }
  .program-student-card__fields,
  .program-lesson-card__fields {
    grid-template-columns: 1fr;
  }
  .program-lesson-plans__summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .program-lesson-card--featured .program-lesson-card__fields {
    grid-template-columns: 1fr;
  }
  .program-lesson-card__head {
    flex-wrap: wrap;
  }
}
.fto-reports-list-page .directory {
  background: #f8fafc;
  border-radius: 24px;
  padding: 24px 28px 28px;
  border: 1px solid #eef2f6;
}
.fto-reports-list-page .directory__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.fto-reports-list-page .directory__header h2 {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 4px;
  color: #1a2b42;
}
.fto-reports-list-page .directory__header p {
  margin: 0;
  font-size: 12px;
  color: #6b7c93;
}
.fto-reports-list-page .directory__tools {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-left: auto;
  justify-content: flex-end;
}
.fto-reports-list-page .table-wrap {
  overflow-x: auto;
}
.fto-reports-list-page .table-head,
.fto-reports-list-page .student-row {
  display: grid;
  align-items: center;
  gap: 12px;
}
.fto-reports-list-page .table-head {
  padding: 0 16px 12px;
  font-size: 11px;
  font-weight: 600;
  color: #6b7c93;
  letter-spacing: 0.02em;
}
.fto-reports-list-page .table-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.fto-reports-list-page .student-row {
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 16px;
  padding: 14px 16px;
  font-size: 13px;
  transition: box-shadow 0.15s;
}
.fto-reports-list-page .student-row:hover {
  box-shadow: 0 4px 16px rgba(12, 31, 61, 0.06);
}
.fto-reports-list-page .col-sn {
  font-weight: 600;
  color: #6b7c93;
  font-size: 12px;
}
.fto-reports-list-page .col-profile {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.fto-reports-list-page .col-profile img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.fto-reports-list-page .col-profile strong {
  display: block;
  font-weight: 600;
  font-size: 13px;
  color: #1a2b42;
  margin-bottom: 2px;
}
.fto-reports-list-page .col-profile span {
  display: block;
  font-size: 11px;
  color: #6b7c93;
}
.fto-reports-list-page .col-program,
.fto-reports-list-page .col-batch {
  font-weight: 500;
  color: #1a2b42;
}
.fto-reports-list-page .col-subject {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}
.fto-reports-list-page .col-subject .col-subject__value {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
  max-width: 100%;
}
.fto-reports-list-page .col-subject strong {
  display: block;
  width: 100%;
  font-weight: 600;
  color: #1a2b42;
  font-size: 13px;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fto-reports-list-page .col-subject .col-subject__value > span {
  display: block;
  width: 100%;
  font-size: 11px;
  color: #6b7c93;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
}

.student-report-list__table .table-head,
.student-report-list__table .student-report-list__row,
.student-report-list__table .fto-report-list-row {
  grid-template-columns: 48px 1.55fr 0.65fr 0.95fr 1.15fr 0.9fr 0.9fr;
}

.student-report-list .directory__header h2 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #1a2b42;
  margin: 0 0 0.25rem;
}

.student-report-list .col-instructor {
  font-size: 13px;
  color: #3d4f66;
  line-height: 1.35;
}

.student-report-list .col-classes {
  font-weight: 700;
  color: #0c1f3d;
  font-size: 13px;
}

.student-report-list .col-classes__of {
  font-weight: 500;
  color: #8a9bb0;
}

.student-report-list .col-duration {
  font-weight: 700;
  color: #0c1f3d;
  font-size: 13px;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .student-report-list__table .table-head,
  .student-report-list__table .student-report-list__row {
    min-width: 980px;
  }
}
.reports-card__actions--triple {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 700px) {
  .reports-card__actions--triple {
    grid-template-columns: 1fr;
  }
}
.student-report-page .dash-page-head__actions {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.student-report-page__exports .btn svg {
  width: 16px;
  height: 16px;
}

.student-report-profile {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: wrap;
  padding: 1.15rem 1.25rem;
  margin-bottom: 1rem;
  background: #fafbfd;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 18px;
}

.student-report-profile__identity {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  min-width: 220px;
}

.student-report-profile__identity h2 {
  margin: 0 0 0.2rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #1a2b42;
}

.student-report-profile__avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.student-report-profile__id {
  font-size: 0.78rem;
  color: #6b7c93;
}

.student-report-profile__meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem 1.5rem;
  margin: 0;
  flex: 1;
  min-width: min(100%, 520px);
}

.student-report-profile__meta div {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.student-report-profile__meta dt {
  font-size: 0.72rem;
  color: #6b7c93;
  font-weight: 500;
}

.student-report-profile__meta dd {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 600;
  color: #1a2b42;
}

.student-report-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin-bottom: 1.25rem;
}

.student-report-summary__card {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem 1.1rem;
  background: #fff;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(13, 27, 46, 0.04);
}

.student-report-summary__card--primary {
  background: linear-gradient(135deg, #0c1f3d 0%, #163a66 100%);
  border-color: transparent;
  color: #fff;
}

.student-report-summary__card--primary .student-report-summary__label,
.student-report-summary__card--primary .student-report-summary__sub {
  color: rgba(255, 255, 255, 0.78);
}

.student-report-summary__label {
  font-size: 0.76rem;
  color: #6b7c93;
  font-weight: 500;
}

.student-report-summary__value {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.2;
  color: inherit;
}

.student-report-summary__sub {
  font-size: 0.72rem;
  color: #8a9bb0;
}

.student-report-toolbar {
  margin-bottom: 1rem;
}

.student-report-table-wrap {
  background: #fff;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(13, 27, 46, 0.04);
}

.student-report-table__head,
.student-report-row {
  display: grid;
  grid-template-columns: 0.9fr 0.85fr 1.1fr 1.15fr 1.6fr 0.75fr;
  gap: 0.75rem;
  align-items: center;
  padding: 0.85rem 1.15rem;
}

.student-report-table__head {
  background: #f4f7fb;
  border-bottom: 1px solid rgba(12, 31, 61, 0.06);
  font-size: 0.74rem;
  font-weight: 700;
  color: #5c6d84;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.student-report-table__body .student-report-row {
  border-bottom: 1px solid rgba(12, 31, 61, 0.05);
  font-size: 0.86rem;
  color: #1a2b42;
}

.student-report-table__body .student-report-row:last-child {
  border-bottom: none;
}

.student-report-table__body .student-report-row:hover {
  background: #fafbfd;
}

.student-report-row__date {
  font-weight: 600;
  white-space: nowrap;
}

.student-report-row__batch {
  font-weight: 600;
  color: #0c1f3d;
}

.student-report-row__instructor {
  color: #3d4f66;
}

.student-report-row__class {
  font-weight: 500;
}

.student-report-row__topic {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.student-report-row__topic strong {
  font-size: 0.84rem;
  font-weight: 700;
  color: #0c1f3d;
}

.student-report-row__topic span {
  font-size: 0.78rem;
  color: #6b7c93;
  line-height: 1.35;
}

.student-report-row__duration {
  font-weight: 700;
  color: #0c1f3d;
  white-space: nowrap;
}

.student-report-table__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1.15rem 1rem;
  border-top: 1px solid rgba(12, 31, 61, 0.06);
  background: #fafbfd;
}

.student-report-table__foot p {
  margin: 0;
  font-size: 0.8rem;
  color: #6b7c93;
}

@media (max-width: 1100px) {
  .student-report-profile__meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }
  .student-report-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .student-report-table-wrap {
    overflow-x: auto;
  }
  .student-report-table__head,
  .student-report-row {
    min-width: 920px;
  }
}
@media (max-width: 700px) {
  .student-report-profile {
    flex-direction: column;
  }
  .student-report-profile__meta {
    grid-template-columns: 1fr;
  }
  .student-report-summary {
    grid-template-columns: 1fr;
  }
}
.class-report-list__table .table-head,
.class-report-list__table .class-report-list__row,
.class-report-list__table .fto-report-list-row {
  grid-template-columns: 44px minmax(72px, 0.7fr) minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 0.75fr) minmax(0, 1.5fr) minmax(72px, 0.65fr) minmax(72px, 0.7fr);
}

.class-report-list .directory__header h2 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #1a2b42;
  margin: 0 0 0.25rem;
}

.class-report-list .col-date {
  font-weight: 600;
  color: #0c1f3d;
  font-size: 13px;
  white-space: nowrap;
}

.class-report-list .col-batch,
.class-report-list .col-instructor,
.class-report-list .col-classroom {
  font-size: 13px;
  color: #3d4f66;
  line-height: 1.35;
  overflow-wrap: break-word;
  word-break: break-word;
}

.class-report-list .col-subject {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.class-report-list .col-subject__value {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  min-width: 0;
  max-width: 100%;
}

.class-report-list .col-subject strong {
  display: block;
  width: 100%;
  font-size: 13px;
  font-weight: 700;
  color: #0c1f3d;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
}

.class-report-list .col-subject__value > span {
  display: block;
  width: 100%;
  font-size: 12px;
  color: #6b7c93;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
}

.class-report-list .col-duration,
.class-report-list .col-attendance {
  font-weight: 700;
  color: #0c1f3d;
  font-size: 13px;
  white-space: nowrap;
}

.class-report-list .col-attendance__of {
  font-weight: 500;
  color: #8a9bb0;
}

@media (max-width: 991.98px) {
  .class-report-list__table .table-head,
  .class-report-list__table .class-report-list__row,
  .class-report-list__table .fto-report-list-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.class-report-page .dash-page-head__actions {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.class-report-page__exports .btn svg {
  width: 16px;
  height: 16px;
}

.class-report-info {
  padding: 1.15rem 1.25rem;
  margin-bottom: 1rem;
  background: #fafbfd;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 18px;
}

.class-report-info__meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem 1.5rem;
  margin: 0;
}

.class-report-info__meta div {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.class-report-info__meta dt {
  font-size: 0.72rem;
  color: #6b7c93;
  font-weight: 500;
}

.class-report-info__meta dd {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 600;
  color: #1a2b42;
}

.class-report-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin-bottom: 1.25rem;
}

.class-report-summary__card {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem 1.1rem;
  background: #fff;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(13, 27, 46, 0.04);
}

.class-report-summary__card--primary {
  background: linear-gradient(135deg, #0c1f3d 0%, #163a66 100%);
  border-color: transparent;
  color: #fff;
}

.class-report-summary__card--primary .class-report-summary__label {
  color: rgba(255, 255, 255, 0.78);
}

.class-report-summary__label {
  font-size: 0.76rem;
  color: #6b7c93;
  font-weight: 500;
}

.class-report-summary__value {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.2;
  color: inherit;
}

.class-report-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.class-report-section-head h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #1a2b42;
}

.class-report-section-head__search {
  min-width: 220px;
  max-width: 280px;
}

.class-report-attendance__table .table-head,
.class-report-attendance__table .class-report-attendance__row {
  grid-template-columns: 48px 1.8fr 0.9fr 0.85fr 0.85fr;
}

.class-report-attendance__foot {
  padding: 0.85rem 0 0;
}

.class-report-attendance__foot p {
  margin: 0;
  font-size: 0.8rem;
  color: #6b7c93;
}

@media (max-width: 1100px) {
  .class-report-info__meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .class-report-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .class-report-info__meta,
  .class-report-summary {
    grid-template-columns: 1fr;
  }
  .class-report-section-head__search {
    width: 100%;
    max-width: none;
  }
  .class-report-attendance__table .table-head,
  .class-report-attendance__table .class-report-attendance__row {
    min-width: 640px;
  }
}
.exam-report-list__table .table-head,
.exam-report-list__table .exam-report-list__row,
.exam-report-list__table .fto-report-list-row {
  grid-template-columns: 48px 0.95fr 0.85fr 1.1fr 1.1fr 0.75fr 0.75fr;
}

.exam-report-list .directory__header h2 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #1a2b42;
  margin: 0 0 0.25rem;
}

.exam-report-list .col-date {
  font-weight: 600;
  color: #0c1f3d;
  font-size: 13px;
  white-space: nowrap;
}

.exam-report-list .col-instructor {
  font-size: 13px;
  color: #3d4f66;
  line-height: 1.35;
}

.exam-report-list .col-subject {
  font-size: 13px;
  font-weight: 600;
  color: #0c1f3d;
}

.exam-report-list .col-marks {
  font-weight: 700;
  color: #0c1f3d;
  font-size: 13px;
  white-space: nowrap;
}

.exam-report-list .col-marks__of {
  font-weight: 500;
  color: #8a9bb0;
}

.exam-report-list .col-attendance {
  font-weight: 700;
  color: #0c1f3d;
  font-size: 13px;
  white-space: nowrap;
}

.exam-report-list .col-attendance__of {
  font-weight: 500;
  color: #8a9bb0;
}

@media (max-width: 900px) {
  .exam-report-list__table .table-head,
  .exam-report-list__table .exam-report-list__row {
    min-width: 920px;
  }
}
.exam-report-page .dash-page-head__actions {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.exam-report-page__exports .btn svg {
  width: 16px;
  height: 16px;
}

.exam-report-info {
  padding: 1.15rem 1.25rem;
  margin-bottom: 1rem;
  background: #fafbfd;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 18px;
}

.exam-report-info__meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem 1.5rem;
  margin: 0;
}

.exam-report-info__meta div {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.exam-report-info__meta dt {
  font-size: 0.72rem;
  color: #6b7c93;
  font-weight: 500;
}

.exam-report-info__meta dd {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 600;
  color: #1a2b42;
}

.exam-report-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin-bottom: 1.25rem;
}

.exam-report-summary__card {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem 1.1rem;
  background: #fff;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(13, 27, 46, 0.04);
}

.exam-report-summary__card--primary {
  background: linear-gradient(135deg, #0c1f3d 0%, #163a66 100%);
  border-color: transparent;
  color: #fff;
}

.exam-report-summary__card--primary .exam-report-summary__label {
  color: rgba(255, 255, 255, 0.78);
}

.exam-report-summary__label {
  font-size: 0.76rem;
  color: #6b7c93;
  font-weight: 500;
}

.exam-report-summary__value {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.2;
  color: inherit;
}

.exam-report-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.exam-report-section-head h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #1a2b42;
}

.exam-report-section-head__search {
  min-width: 220px;
  max-width: 280px;
}

.exam-report-results__table .table-head,
.exam-report-results__table .exam-report-results__row {
  grid-template-columns: 48px 1.8fr 0.9fr 0.95fr 0.85fr;
}

.exam-report-results__row .col-marks {
  font-weight: 700;
  font-size: 13px;
  color: #0c1f3d;
  white-space: nowrap;
}

.exam-report-results__row .col-marks__of {
  font-weight: 500;
  color: #8a9bb0;
}

.exam-report-results__row .col-marks--pass {
  color: #1a7f4b;
}

.exam-report-results__row .col-marks--fail {
  color: #c0392b;
}

.exam-report-results__row .col-marks--na {
  color: #8a9bb0;
  font-weight: 500;
}

.exam-report-results__foot {
  padding: 0.85rem 0 0;
}

.exam-report-results__foot p {
  margin: 0;
  font-size: 0.8rem;
  color: #6b7c93;
}

@media (max-width: 1100px) {
  .exam-report-info__meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .exam-report-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .exam-report-info__meta,
  .exam-report-summary {
    grid-template-columns: 1fr;
  }
  .exam-report-section-head__search {
    width: 100%;
    max-width: none;
  }
  .exam-report-results__table .table-head,
  .exam-report-results__table .exam-report-results__row {
    min-width: 640px;
  }
}
.instructor-report-list__table .table-head,
.instructor-report-list__table .instructor-report-list__row,
.instructor-report-list__table .fto-report-list-row {
  grid-template-columns: 44px minmax(160px, 1.35fr) minmax(100px, 0.9fr) minmax(0, 1.45fr) minmax(88px, 0.7fr) minmax(88px, 0.75fr);
}

.instructor-report-list .directory__header h2 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #1a2b42;
  margin: 0 0 0.25rem;
}

.instructor-report-list .col-role {
  font-size: 13px;
  color: #3d4f66;
}

.instructor-report-list .col-batches {
  font-size: 13px;
  color: #0c1f3d;
  line-height: 1.35;
}

.instructor-report-list .col-classes,
.instructor-report-list .col-duration {
  font-weight: 700;
  color: #0c1f3d;
  font-size: 13px;
  white-space: nowrap;
}

@media (max-width: 991.98px) {
  .instructor-report-list__table .table-head,
  .instructor-report-list__table .instructor-report-list__row,
  .instructor-report-list__table .fto-report-list-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.instructor-report-page .dash-page-head__actions {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.instructor-report-page__exports .btn svg {
  width: 16px;
  height: 16px;
}

.instructor-report-profile {
  display: flex;
  align-items: flex-start;
  gap: 1.15rem;
  padding: 1.15rem 1.25rem;
  margin-bottom: 1rem;
  background: #fafbfd;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 18px;
}

.instructor-report-profile__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.instructor-report-profile__body h2 {
  margin: 0 0 0.15rem;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1a2b42;
}

.instructor-report-profile__body > p {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  color: #6b7c93;
}

.instructor-report-profile__meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem 1.25rem;
  margin: 0;
}

.instructor-report-profile__meta div {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.instructor-report-profile__meta dt {
  font-size: 0.72rem;
  color: #6b7c93;
  font-weight: 500;
}

.instructor-report-profile__meta dd {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 600;
  color: #1a2b42;
}

.instructor-report-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin-bottom: 1.25rem;
}

.instructor-report-summary__card {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem 1.1rem;
  background: #fff;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(13, 27, 46, 0.04);
}

.instructor-report-summary__card--primary {
  background: linear-gradient(135deg, #0c1f3d 0%, #163a66 100%);
  border-color: transparent;
  color: #fff;
}

.instructor-report-summary__card--primary .instructor-report-summary__label {
  color: rgba(255, 255, 255, 0.78);
}

.instructor-report-summary__label {
  font-size: 0.76rem;
  color: #6b7c93;
  font-weight: 500;
}

.instructor-report-summary__value {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.2;
  color: inherit;
}

.instructor-report-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.instructor-report-section-head--spaced {
  margin-top: 1.5rem;
}

.instructor-report-section-head h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #1a2b42;
}

.instructor-report-section-head__search {
  min-width: 220px;
  max-width: 280px;
}

.instructor-report-classes__table .table-head,
.instructor-report-classes__table .instructor-report-classes__row {
  grid-template-columns: 48px 0.95fr 0.85fr 0.85fr 1.35fr 0.7fr;
}

.instructor-report-classes__row .col-date {
  font-weight: 600;
  color: #0c1f3d;
  font-size: 13px;
  white-space: nowrap;
}

.instructor-report-classes__row .col-classroom {
  font-size: 13px;
  color: #3d4f66;
}

.instructor-report-classes__row .col-subject {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.instructor-report-classes__row .col-subject strong {
  font-size: 13px;
  font-weight: 700;
  color: #0c1f3d;
}

.instructor-report-classes__row .col-subject span {
  font-size: 12px;
  color: #6b7c93;
  line-height: 1.35;
}

.instructor-report-classes__row .col-duration {
  font-weight: 700;
  color: #0c1f3d;
  font-size: 13px;
  white-space: nowrap;
}

.instructor-report-mapping__table .table-head,
.instructor-report-mapping__table .instructor-report-mapping__row {
  grid-template-columns: 48px 1fr 1fr 1fr 1.1fr;
}

.instructor-report-mapping__row .col-date {
  font-weight: 600;
  color: #0c1f3d;
  font-size: 13px;
  white-space: nowrap;
}

.instructor-report-mapping__row .col-batch {
  font-weight: 600;
  color: #163a66;
  font-size: 13px;
}

.instructor-report-mapping__row .col-classroom,
.instructor-report-mapping__row .col-slot {
  font-size: 13px;
  color: #3d4f66;
}

.instructor-report-mapping__foot {
  padding: 0.85rem 0 0;
}

.instructor-report-mapping__foot p {
  margin: 0;
  font-size: 0.8rem;
  color: #6b7c93;
}

@media (max-width: 1100px) {
  .instructor-report-profile__meta,
  .instructor-report-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .instructor-report-profile {
    flex-direction: column;
  }
  .instructor-report-profile__meta,
  .instructor-report-summary {
    grid-template-columns: 1fr;
  }
  .instructor-report-section-head__search {
    width: 100%;
    max-width: none;
  }
  .instructor-report-classes__table .table-head,
  .instructor-report-classes__table .instructor-report-classes__row {
    min-width: 880px;
  }
  .instructor-report-mapping__table .table-head,
  .instructor-report-mapping__table .instructor-report-mapping__row {
    min-width: 720px;
  }
}
.attendance-report-list__table .table-head,
.attendance-report-list__table .attendance-report-list__row,
.attendance-report-list__table .fto-report-list-row {
  grid-template-columns: 48px 0.95fr 0.85fr 1.1fr 1fr 0.65fr 0.65fr 0.75fr;
}

.attendance-report-list .directory__header h2 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #1a2b42;
  margin: 0 0 0.25rem;
}

.attendance-report-list .col-date {
  font-weight: 600;
  color: #0c1f3d;
  font-size: 13px;
  white-space: nowrap;
}

.attendance-report-list .col-instructor {
  font-size: 13px;
  color: #3d4f66;
  line-height: 1.35;
}

.attendance-report-list .col-subject {
  font-size: 13px;
  font-weight: 600;
  color: #0c1f3d;
}

.attendance-report-list .col-present {
  font-weight: 700;
  color: #1a7f4b;
  font-size: 13px;
}

.attendance-report-list .col-absent {
  font-weight: 700;
  color: #c0392b;
  font-size: 13px;
}

.attendance-report-list .col-attendance {
  font-weight: 700;
  color: #0c1f3d;
  font-size: 13px;
  white-space: nowrap;
}

.attendance-report-list .col-attendance__of {
  font-weight: 500;
  color: #8a9bb0;
}

@media (max-width: 900px) {
  .attendance-report-list__table .table-head,
  .attendance-report-list__table .attendance-report-list__row {
    min-width: 980px;
  }
}
.attendance-report-page .dash-page-head__actions {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.attendance-report-page__exports .btn svg {
  width: 16px;
  height: 16px;
}

.attendance-report-info {
  padding: 1.15rem 1.25rem;
  margin-bottom: 1rem;
  background: #fafbfd;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 18px;
}

.attendance-report-info__meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem 1.5rem;
  margin: 0;
}

.attendance-report-info__meta div {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.attendance-report-info__meta dt {
  font-size: 0.72rem;
  color: #6b7c93;
  font-weight: 500;
}

.attendance-report-info__meta dd {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 600;
  color: #1a2b42;
}

.attendance-report-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin-bottom: 1.25rem;
}

.attendance-report-summary__card {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem 1.1rem;
  background: #fff;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(13, 27, 46, 0.04);
}

.attendance-report-summary__card--primary {
  background: linear-gradient(135deg, #0c1f3d 0%, #163a66 100%);
  border-color: transparent;
  color: #fff;
}

.attendance-report-summary__card--primary .attendance-report-summary__label {
  color: rgba(255, 255, 255, 0.78);
}

.attendance-report-summary__label {
  font-size: 0.76rem;
  color: #6b7c93;
  font-weight: 500;
}

.attendance-report-summary__value {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.2;
  color: inherit;
}

.attendance-report-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.attendance-report-section-head h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #1a2b42;
}

.attendance-report-section-head__search {
  min-width: 220px;
  max-width: 280px;
}

@media (min-width: 992px) {
  .attendance-report-students__table .table-head,
  .attendance-report-students__table .fto-directory-row.attendance-report-students__row {
    grid-template-columns: minmax(180px, 1.7fr) minmax(0, 0.9fr) minmax(0, 0.85fr) minmax(0, 1fr) minmax(0, 0.8fr);
    min-width: 880px;
  }
  .attendance-report-students__table .table-head > span:nth-child(1) {
    text-align: left;
    justify-self: start;
    align-items: flex-start;
  }
  .attendance-report-students__table .table-head > span:nth-child(1) .sa-directory-sort-btn {
    justify-content: flex-start;
    width: 100%;
  }
  .attendance-report-students__table .table-head > span:nth-child(1) .table-head__label {
    justify-content: flex-start;
  }
  .attendance-report-students__table .table-head > span:nth-child(1) .table-head__filter {
    text-align: left;
  }
  .attendance-report-students__table .attendance-report-students__row .col-profile {
    justify-self: start !important;
    text-align: left !important;
  }
  .attendance-report-students__table .col-phone,
  .attendance-report-students__table .col-join-time,
  .attendance-report-students__table .col-status,
  .attendance-report-students__table .col-absent-tag {
    justify-self: center;
    text-align: center;
  }
  .attendance-report-students__table .col-status,
  .attendance-report-students__table .col-absent-tag {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media (max-width: 991.98px) {
  .attendance-report-students__table .table-head,
  .attendance-report-students__table .fto-directory-row.attendance-report-students__row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}

.attendance-report-students__row .col-join-time {
  font-size: 13px;
  font-weight: 600;
  color: #0c1f3d;
  white-space: nowrap;
}

.attendance-report-join {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 100%;
  flex: 0 0 auto;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  white-space: nowrap;
  line-height: 1.35;
}

.attendance-report-join--ontime {
  background: rgba(26, 127, 75, 0.1);
  color: #1a7f4b;
}

.attendance-report-join--late {
  background: rgba(230, 162, 60, 0.14);
  color: #b7791f;
}

.attendance-report-join--absent {
  background: rgba(192, 57, 43, 0.1);
  color: #c0392b;
}

.attendance-report-absent-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 100%;
  flex: 0 0 auto;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  white-space: nowrap;
  line-height: 1.35;
}

.attendance-report-absent-tag--not-joined {
  background: rgba(192, 57, 43, 0.1);
  color: #c0392b;
}

.attendance-report-absent-tag--medical {
  background: rgba(230, 162, 60, 0.14);
  color: #b7791f;
}

.attendance-report-students__foot {
  padding: 0.85rem 0 0;
}

.attendance-report-students__foot p {
  margin: 0;
  font-size: 0.8rem;
  color: #6b7c93;
}

@media (max-width: 1100px) {
  .attendance-report-info__meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .attendance-report-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .attendance-report-info__meta,
  .attendance-report-summary {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 991.98px) {
  .fto-reports-list-page {
    overflow-x: hidden;
  }
  .fto-reports-list-page .app-main,
  .fto-reports-list-page .app-panel,
  .fto-reports-list-page .main-layout,
  .fto-reports-list-page .fto-admin-scope,
  .fto-reports-list-page .content.fto-adm-ui {
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
  }
  .fto-reports-list-page .content--details {
    overflow-x: hidden;
  }
  .fto-reports-list-page .directory {
    padding: 12px;
    border-radius: 18px;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }
  .fto-reports-list-page .directory__header {
    margin-bottom: 12px;
    gap: 10px;
    min-width: 0;
    max-width: 100%;
  }
  .fto-reports-list-page .directory__header--tools-only,
  .fto-reports-list-page .directory__header--tools-split {
    width: 100%;
    min-width: 0;
  }
  .fto-reports-list-page .fto-reports-list__tools,
  .fto-reports-list-page .directory__tools.fto-reports-list__tools,
  .fto-reports-list-page .directory__header--tools-split .directory__tools.fto-reports-list__tools {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0.65rem;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-left: 0;
  }
  .fto-reports-list-page .fto-reports-list__tools .directory__tools-end,
  .fto-reports-list-page .directory__tools.fto-reports-list__tools .directory__tools-end {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100%;
    margin-left: 0;
    gap: 0.65rem;
    min-width: 0;
    max-width: 100%;
    flex: 1 1 auto;
  }
  .fto-reports-list-page .fto-reports-list__tools .directory__tools-end .directory__search,
  .fto-reports-list-page .fto-reports-list__tools .btn--filter,
  .fto-reports-list-page .fto-reports-list__tools .btn--export,
  .fto-reports-list-page .fto-reports-list__tools .btn-export,
  .fto-reports-list-page .fto-reports-list__tools .btn--secondary,
  .fto-reports-list-page .directory__tools.fto-reports-list__tools .directory__tools-end .directory__search,
  .fto-reports-list-page .directory__tools.fto-reports-list__tools .btn--filter,
  .fto-reports-list-page .directory__tools.fto-reports-list__tools .btn--export,
  .fto-reports-list-page .directory__tools.fto-reports-list__tools .btn-export,
  .fto-reports-list-page .directory__tools.fto-reports-list__tools .btn--secondary {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    justify-content: center;
    box-sizing: border-box;
  }
  .fto-reports-list-page .table-wrap {
    overflow-x: visible !important;
    -webkit-overflow-scrolling: auto;
    min-width: 0;
    max-width: 100%;
    width: 100%;
  }
  .fto-reports-list-page .table-head {
    display: none !important;
  }
  .fto-reports-list-page .fto-adm-ui .student-report-list__table .table-head,
  .fto-reports-list-page .fto-adm-ui .student-report-list__table .fto-directory-row.fto-report-list-row,
  .fto-reports-list-page .fto-adm-ui .instructor-report-list__table .table-head,
  .fto-reports-list-page .fto-adm-ui .instructor-report-list__table .fto-directory-row.fto-report-list-row,
  .fto-reports-list-page .fto-adm-ui .attendance-report-list__table .table-head,
  .fto-reports-list-page .fto-adm-ui .attendance-report-list__table .fto-directory-row.fto-report-list-row,
  .fto-reports-list-page .fto-adm-ui .exam-report-list__table .table-head,
  .fto-reports-list-page .fto-adm-ui .exam-report-list__table .fto-directory-row.fto-report-list-row,
  .fto-reports-list-page .fto-adm-ui .class-report-list__table .table-head,
  .fto-reports-list-page .fto-adm-ui .class-report-list__table .fto-directory-row.fto-report-list-row,
  .fto-reports-list-page .student-report-list__table .table-head,
  .fto-reports-list-page .student-report-list__table .fto-report-list-row,
  .fto-reports-list-page .instructor-report-list__table .table-head,
  .fto-reports-list-page .instructor-report-list__table .fto-report-list-row,
  .fto-reports-list-page .attendance-report-list__table .table-head,
  .fto-reports-list-page .attendance-report-list__table .fto-report-list-row,
  .fto-reports-list-page .exam-report-list__table .table-head,
  .fto-reports-list-page .exam-report-list__table .fto-report-list-row,
  .fto-reports-list-page .class-report-list__table .table-head,
  .fto-reports-list-page .class-report-list__table .fto-report-list-row {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
  }
  .fto-reports-list-page .fto-adm-ui .student-report-list__table .fto-directory-row.fto-report-list-row,
  .fto-reports-list-page .fto-adm-ui .instructor-report-list__table .fto-directory-row.fto-report-list-row,
  .fto-reports-list-page .fto-adm-ui .attendance-report-list__table .fto-directory-row.fto-report-list-row,
  .fto-reports-list-page .fto-adm-ui .exam-report-list__table .fto-directory-row.fto-report-list-row,
  .fto-reports-list-page .fto-adm-ui .class-report-list__table .fto-directory-row.fto-report-list-row,
  .fto-reports-list-page .fto-report-list-row {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 14px 12px;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    overflow: hidden;
  }
  .fto-reports-list-page .fto-adm-ui .student-report-list__table .fto-directory-row.fto-report-list-row > *,
  .fto-reports-list-page .fto-adm-ui .instructor-report-list__table .fto-directory-row.fto-report-list-row > *,
  .fto-reports-list-page .fto-adm-ui .attendance-report-list__table .fto-directory-row.fto-report-list-row > *,
  .fto-reports-list-page .fto-adm-ui .exam-report-list__table .fto-directory-row.fto-report-list-row > *,
  .fto-reports-list-page .fto-adm-ui .class-report-list__table .fto-directory-row.fto-report-list-row > *,
  .fto-reports-list-page .fto-report-list-row > * {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible;
  }
  .fto-reports-list-page .fto-report-list-row > span,
  .fto-reports-list-page .fto-report-list-row .col-text,
  .fto-reports-list-page .fto-report-list-row .col-program,
  .fto-reports-list-page .fto-report-list-row .col-batch,
  .fto-reports-list-page .fto-report-list-row .col-instructor,
  .fto-reports-list-page .fto-report-list-row .col-classes,
  .fto-reports-list-page .fto-report-list-row .col-duration,
  .fto-reports-list-page .fto-report-list-row .col-role,
  .fto-reports-list-page .fto-report-list-row .col-batches,
  .fto-reports-list-page .fto-report-list-row .col-date,
  .fto-reports-list-page .fto-report-list-row .col-subject,
  .fto-reports-list-page .fto-report-list-row .col-present,
  .fto-reports-list-page .fto-report-list-row .col-absent,
  .fto-reports-list-page .fto-report-list-row .col-attendance,
  .fto-reports-list-page .fto-report-list-row .col-marks,
  .fto-reports-list-page .fto-report-list-row .col-classroom {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    width: 100%;
    text-align: right;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .fto-reports-list-page .fto-report-list-row [data-mobile-label]::before {
    max-width: 42%;
    white-space: normal;
  }
  .fto-reports-list-page .fto-report-list-row .col-split-value {
    display: inline-flex;
    align-items: baseline;
    white-space: nowrap;
    margin-left: auto;
    flex-shrink: 0;
    text-align: right;
  }
  .fto-reports-list-page .fto-report-list-row .col-subject {
    align-items: flex-start;
  }
  .fto-reports-list-page .fto-report-list-row .col-subject .col-subject__value {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    margin-left: auto;
    flex-shrink: 1;
    min-width: 0;
    text-align: right;
  }
  .fto-reports-list-page .fto-report-list-row .col-profile {
    padding-bottom: 8px;
    border-bottom: 1px solid #eef2f6;
    justify-content: flex-start;
    text-align: left;
    overflow: hidden;
  }
  .fto-reports-list-page .fto-report-list-row .col-profile > div {
    min-width: 0;
    overflow: hidden;
  }
  .fto-reports-list-page .fto-report-list-row .col-profile strong,
  .fto-reports-list-page .fto-report-list-row .col-profile span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.fto-seats-tab .fto-seats-directory {
  min-width: 0;
  max-width: 100%;
}
.fto-seats-tab .fto-seats-directory .directory__header {
  margin-bottom: 1rem;
}
.fto-seats-tab .directory__filter-select {
  appearance: none;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7c93' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 10px 36px 10px 16px;
  font-size: 13px;
  font-weight: 600;
  color: #1a2b42;
  cursor: pointer;
  min-width: 10.5rem;
}
.fto-seats-tab .fto-seats-tab__empty {
  grid-column: 1/-1;
  margin: 0;
  padding: 1.5rem;
  text-align: center;
  background: #fff;
  border: 1px dashed #e2e8f0;
  border-radius: 16px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #6b7c93;
}
.fto-seats-tab .seat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}
@media (max-width: 1199.98px) {
  .fto-seats-tab .seat-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 991.98px) {
  .fto-seats-tab .directory {
    padding: 12px;
    border-radius: 18px;
  }
  .fto-seats-tab .directory__header {
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
  }
  .fto-seats-tab .directory__tools {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
  }
  .fto-seats-tab .directory__search {
    width: 100%;
    max-width: none;
    min-width: 0;
  }
  .fto-seats-tab .directory__filter-select,
  .fto-seats-tab .btn--export,
  .fto-seats-tab .btn-export {
    width: 100%;
    justify-content: center;
  }
  .fto-seats-tab .seat-grid {
    gap: 0.75rem;
  }
  .fto-seats-tab .seat-card {
    padding: 14px 12px 16px;
    border-radius: 18px;
  }
  .fto-seats-tab .seat-card__head {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-bottom: 12px;
  }
  .fto-seats-tab .seat-card__profile {
    width: 100%;
    gap: 10px;
  }
  .fto-seats-tab .seat-card__title-row {
    margin-bottom: 4px;
    gap: 6px 8px;
  }
  .fto-seats-tab .seat-card__title-row h3 {
    font-size: 14px;
  }
  .fto-seats-tab .seat-card__meta-line {
    font-size: 11px;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .fto-seats-tab .seat-card__head-actions {
    width: 100%;
    justify-content: stretch;
    flex-shrink: 1;
  }
  .fto-seats-tab .seat-card__history-link {
    width: 100%;
    padding: 10px 14px;
    box-sizing: border-box;
  }
  .fto-seats-tab .seat-card__chips {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 8px;
    margin-bottom: 12px;
  }
  .fto-seats-tab .seat-card__details {
    grid-template-columns: 1fr 1fr;
    gap: 10px 12px;
    padding-top: 12px;
    border-top: 1px solid #eef2f6;
  }
  .fto-seats-tab .seat-chip {
    padding: 10px 12px;
  }
  .fto-seats-tab .seat-chip__value {
    font-size: 11px;
  }
  .fto-seats-tab .badge--seat-active,
  .fto-seats-tab .badge--seat-muted {
    padding: 4px 10px 4px 8px;
    font-size: 11px;
  }
}
@media (max-width: 575.98px) {
  .fto-seats-tab .seat-card__chips {
    grid-template-columns: 1fr 1fr;
  }
  .fto-seats-tab .seat-card__details {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

.seat-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.seat-card {
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 20px;
  padding: 20px 22px 22px;
  box-shadow: 0 2px 10px rgba(12, 31, 61, 0.04);
  min-width: 0;
  max-width: 100%;
}
.seat-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.seat-card__profile {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  flex: 1;
}
.seat-card__identity {
  min-width: 0;
  flex: 1 1 auto;
}
.seat-card__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.seat-card__title-row h3 {
  font-size: 15px;
  font-weight: 700;
  color: #1a2b42;
  margin: 0;
  line-height: 1.3;
  min-width: 0;
}
.seat-card__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.seat-card__meta-line {
  margin: 0 0 2px;
  font-size: 11px;
  color: #6b7c93;
  font-weight: 500;
  line-height: 1.4;
}
.seat-card__meta-line:last-child {
  margin-bottom: 0;
}
.seat-card__meta-line span {
  color: #1a2b42;
  font-weight: 600;
}
.seat-card__head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  position: relative;
}
.seat-card__history-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #0c1f3d;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s, border-color 0.15s;
}
.seat-card__history-link:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: #0c1f3d;
}
.seat-card__menu-wrap {
  position: relative;
}
.seat-card__dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 20;
  min-width: 200px;
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(12, 31, 61, 0.12);
  padding: 6px 0;
  overflow: hidden;
}
.seat-card__dropdown[hidden] {
  display: none;
}
.seat-card__dropdown-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 12px 16px;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  background: transparent;
  border: none;
  text-decoration: none;
  cursor: pointer;
}
.seat-card__dropdown-item svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.seat-card__dropdown-item + .seat-card__dropdown-item {
  border-top: 1px solid #eef2f6;
}
.seat-card__dropdown-item--danger {
  color: #f15b55;
}
.seat-card__dropdown-item--danger svg {
  color: #f15b55;
}
.seat-card__dropdown-item--allocate {
  color: #22a06b;
}
.seat-card__dropdown-item--allocate svg {
  color: #22a06b;
}
.seat-card__dropdown-item:not(.seat-card__dropdown-item--danger):not(.seat-card__dropdown-item--allocate) {
  color: #0c1f3d;
}
.seat-card__dropdown-item:not(.seat-card__dropdown-item--danger):not(.seat-card__dropdown-item--allocate) svg {
  color: #0c1f3d;
}
.seat-card__dropdown-item:hover {
  background: #f8fafc;
}
.seat-card__menu {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6b7c93;
  background: transparent;
}
.seat-card__menu svg {
  width: 18px;
  height: 18px;
}
.seat-card__menu:hover {
  background: #f0f4f8;
  color: #1a2b42;
}
.seat-card__chips {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 10px;
  margin-bottom: 16px;
}
.seat-card__details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
  margin: 0;
}
.seat-card__details div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.seat-card__details dt {
  font-size: 11px;
  font-weight: 600;
  color: #6b7c93;
}
.seat-card__details dd {
  font-size: 12px;
  font-weight: 600;
  color: #1a2b42;
  margin: 0;
}
.seat-card__devices {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #c62828;
}
.seat-card__devices svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.badge--seat-active {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #1e5c3a;
  color: #ffffff;
  padding: 5px 12px 5px 10px;
}
.badge--seat-active .badge__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #7ee081;
  flex-shrink: 0;
}

.badge--seat-muted {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #eef2f6;
  color: #6b7c93;
  padding: 5px 12px 5px 10px;
}
.badge--seat-muted .badge__dot--muted {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #94a3b8;
  flex-shrink: 0;
}

.badge--seat-archived {
  background: #eef2f6;
  color: #6b7c93;
}

.seat-chip {
  border-radius: 14px;
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.seat-chip__label {
  font-size: 10px;
  font-weight: 600;
  text-transform: capitalize;
  opacity: 0.85;
}
.seat-chip__value {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  word-break: break-word;
}
.seat-chip--navy {
  background: #0c1f3d;
  color: #ffffff;
}
.seat-chip--navy .seat-chip__label {
  color: rgba(255, 255, 255, 0.75);
}
.seat-chip--light {
  background: #e8eef4;
  color: #0c1f3d;
}
.seat-chip--light .seat-chip__label {
  color: #6b7c93;
}
.seat-chip--muted {
  background: #f0f4f8;
  color: #6b7c93;
}
.seat-chip--muted .seat-chip__label,
.seat-chip--muted .seat-chip__value {
  color: #6b7c93;
}

@media (max-width: 1200px) {
  .seat-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 900px) {
  .seat-card__chips {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  }
  .seat-card__details {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 575.98px) {
  .seat-card__details {
    grid-template-columns: 1fr;
  }
}
.seat-history-panel {
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 20px;
  padding: 24px 28px 28px;
  box-shadow: 0 2px 12px rgba(12, 31, 61, 0.05);
}
.seat-history-panel__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.seat-history-panel__header h1 {
  font-size: 24px;
  font-weight: 700;
  color: #1a2b42;
  margin-bottom: 6px;
  letter-spacing: -0.02em;
}
.seat-history-panel__header p {
  font-size: 13px;
  color: #6b7c93;
  max-width: 520px;
}

.seat-history-table {
  overflow-x: auto;
}
.seat-history-table__head,
.seat-history-table .seat-history-row {
  display: grid;
  grid-template-columns: 52px 1.4fr 1fr 1fr 1.1fr 1.35fr 100px;
  align-items: center;
  gap: 12px;
  min-width: 960px;
}
.seat-history-table__head {
  padding: 0 16px 12px;
  font-size: 11px;
  font-weight: 600;
  color: #6b7c93;
  letter-spacing: 0.02em;
}
.seat-history-table__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.seat-history-row {
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 14px;
  padding: 14px 16px;
  font-size: 12px;
  box-shadow: 0 2px 8px rgba(12, 31, 61, 0.04);
}
.seat-history-row__sn {
  font-weight: 600;
  color: #6b7c93;
}
.seat-history-row__name strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #1a2b42;
  margin-bottom: 2px;
}
.seat-history-row__name span {
  font-size: 11px;
  color: #6b7c93;
  font-weight: 500;
}
.seat-history-row__text {
  font-size: 12px;
  font-weight: 500;
  color: #1a2b42;
  line-height: 1.35;
}
.seat-history-row .badge {
  justify-self: start;
}

.allocate-seat-panel {
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 20px;
  padding: 28px 32px 36px;
  box-shadow: 0 2px 12px rgba(12, 31, 61, 0.05);
}
.allocate-seat-panel__intro {
  margin-bottom: 28px;
}
.allocate-seat-panel__intro h1 {
  font-size: 24px;
  font-weight: 700;
  color: #1a2b42;
  margin-bottom: 8px;
  letter-spacing: -0.02em;
}
.allocate-seat-panel__intro p {
  font-size: 13px;
  color: #6b7c93;
  max-width: 640px;
  line-height: 1.5;
}

.allocate-seat-form {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.allocate-seat-form__actions {
  margin-top: 8px;
  padding-top: 8px;
}

@media (max-width: 1100px) {
  .seat-history-table__head,
  .seat-history-table .seat-history-row {
    min-width: 880px;
  }
  .allocate-seat-form .form-row {
    grid-template-columns: 1fr;
  }
}
.fto-payments-tab .fto-payments-notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  margin-bottom: 1.25rem;
  border-radius: 14px;
  background: #fff8e6;
  border: 1px solid #f5d78e;
  color: #7a5b00;
  font-size: 13px;
}
.fto-payments-tab .fto-payments-notice svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-top: 1px;
}
.fto-payments-tab .fto-payments-config__desc {
  font-size: 13px;
  color: #6b7c93;
}
.fto-payments-tab .fto-detail-payment-row__ref {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 11px;
  color: #6b7c93;
  word-break: break-all;
}
.fto-payments-tab .fto-payment-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
}
.fto-payments-tab .fto-payment-badge--paid {
  background: #e6f4ea;
  color: #1e7e45;
}
.fto-payments-tab .fto-payment-badge--pending {
  background: #fff8e6;
  color: #b7791f;
}
.fto-payments-tab .fto-payment-badge--failed {
  background: #fde8e8;
  color: #c53030;
}

.fto-adm-ui .assessment-homework-detail__summary {
  margin: 0;
  font-size: 0.8rem;
  color: #6b7c93;
  line-height: 1.4;
}
.fto-adm-ui .directory.assessment-homework-detail__students,
.fto-adm-ui .directory.assessment-homework-detail__assigned,
.fto-adm-ui .directory.assessment-homework-detail__submissions,
.fto-adm-ui .directory.assessment-homework-detail__results,
.fto-adm-ui .directory.assessment-homework-detail__reminders {
  min-width: 0;
  max-width: 100%;
}
.fto-adm-ui .directory.assessment-homework-detail__students .directory__header,
.fto-adm-ui .directory.assessment-homework-detail__assigned .directory__header,
.fto-adm-ui .directory.assessment-homework-detail__submissions .directory__header,
.fto-adm-ui .directory.assessment-homework-detail__results .directory__header {
  margin-bottom: 1rem;
}
.fto-adm-ui .assessment-homework-detail__students-title {
  margin: 1.25rem 0 0.75rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #1a2b42;
}
.fto-adm-ui .directory__tools > .assessment-homework-detail__students-title {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}
.fto-adm-ui .assessment-detail__head + .assessment-homework-detail__students-title {
  margin-top: 0.35rem;
}
.fto-adm-ui .assessment-homework-detail__overview {
  background: #ffffff;
  border: 1px solid rgba(12, 31, 61, 0.06);
  border-radius: 18px;
  padding: 1.15rem 1.2rem;
}
.fto-adm-ui .assessment-exam-detail .assessment-detail__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
@media (min-width: 992px) {
  .fto-adm-ui .fto-exam-detail-questions-table .table-head,
  .fto-adm-ui .fto-exam-detail-questions-table .fto-directory-row.fto-exam-detail-question-row {
    display: grid;
    gap: 0.5rem;
    align-items: center;
    grid-template-columns: minmax(48px, 0.45fr) minmax(0, 2fr) minmax(0, 1.1fr) minmax(0, 0.7fr) minmax(0, 0.65fr) minmax(0, 0.65fr);
    min-width: 860px;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .fto-exam-detail-questions-table .table-head {
    display: none;
  }
  .fto-adm-ui .fto-exam-detail-questions-table .fto-directory-row.fto-exam-detail-question-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
  .fto-adm-ui .fto-exam-detail-questions-table .fto-directory-row.fto-exam-detail-question-row > [data-mobile-label]::before {
    content: attr(data-mobile-label) ": ";
    font-weight: 700;
    color: #6b7c93;
  }
}
.fto-adm-ui .hw-detail-chip-link {
  color: #0c1f3d;
  font-weight: 600;
  text-decoration: none;
}
.fto-adm-ui .hw-detail-chip-link:hover, .fto-adm-ui .hw-detail-chip-link:focus-visible {
  text-decoration: underline;
  color: #0c1f3d;
}
.fto-adm-ui .assessment-homework-detail .directory__header--tools-split > .directory__tools {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
}
.fto-adm-ui .assessment-homework-detail .directory__header--tools-split .assessment-homework-detail__summary {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}
.fto-adm-ui .assessment-homework-detail .directory__header--tools-split .directory__tools-end {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-left: auto;
  flex: 0 0 auto;
}
.fto-adm-ui .assessment-homework-detail .directory__header--tools-split .directory__tools-end .sa-directory-select {
  width: auto;
  min-width: 170px;
  max-width: 220px;
  height: 42px;
  min-height: 42px;
  padding: 0 2rem 0 1rem;
  line-height: 40px;
  box-sizing: border-box;
}
.fto-adm-ui .assessment-homework-detail .directory__header--tools-split .directory__tools-end .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}
.fto-adm-ui .assessment-homework-detail .directory__header--tools-split .directory__tools-end .btn--export,
.fto-adm-ui .assessment-homework-detail .directory__header--tools-split .directory__tools-end .btn-export {
  flex-shrink: 0;
  white-space: nowrap;
}
@media (max-width: 991.98px) {
  .fto-adm-ui .assessment-homework-detail .directory__header--tools-split > .directory__tools {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
  }
  .fto-adm-ui .assessment-homework-detail .directory__header--tools-split .directory__tools-end,
  .fto-adm-ui .assessment-homework-detail .directory__header--tools-split .directory__tools-end .btn--export,
  .fto-adm-ui .assessment-homework-detail .directory__header--tools-split .directory__tools-end .btn-export {
    width: 100%;
    margin-left: 0;
  }
  .fto-adm-ui .assessment-homework-detail .directory__header--tools-split .directory__tools-end .sa-directory-select,
  .fto-adm-ui .assessment-homework-detail .directory__header--tools-split .directory__tools-end .directory__search {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    max-width: none;
  }
  .fto-adm-ui .assessment-homework-detail .directory__header--tools-split .directory__tools-end .btn--export,
  .fto-adm-ui .assessment-homework-detail .directory__header--tools-split .directory__tools-end .btn-export {
    justify-content: center;
  }
}
.fto-adm-ui .stat-card__sub {
  font-size: 11px;
  font-weight: 500;
  color: #6b7c93;
  margin-top: 6px;
  line-height: 1.3;
  margin-bottom: 0;
}

.homework-submission-preview__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
}
.homework-submission-preview__heading {
  margin: 0 0 0.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #1a2b42;
}
.homework-submission-preview__pdf {
  border: 1px solid #e4e9f0;
  border-radius: 8px;
  overflow: hidden;
  background: #f7f9fc;
  min-height: 360px;
}
.homework-submission-preview__pdf iframe {
  display: block;
  width: 100%;
  height: 420px;
  border: 0;
}
.homework-submission-preview__q {
  padding: 0.75rem 0;
  border-bottom: 1px solid #eef2f7;
}
.homework-submission-preview__q:last-child {
  border-bottom: 0;
}
.homework-submission-preview__q strong {
  display: block;
  margin-bottom: 0.35rem;
  color: #1a2b42;
}
.homework-submission-preview__a {
  margin: 0.25rem 0 0;
  font-size: 0.8125rem;
  color: #6b7c93;
}
.homework-submission-preview__a span {
  font-weight: 600;
  color: #1a2b42;
  margin-right: 0.25rem;
}
.homework-submission-preview__a--ok {
  color: #1f7a4d;
}
.homework-submission-preview__score .badge {
  font-size: 0.875rem;
}

.student-homework-view-meta-chip {
  display: inline-flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.45rem 0.7rem;
  border-radius: 8px;
  background: #f5f7fb;
  border: 1px solid #e4e9f0;
  min-width: 0;
}
.student-homework-view-meta-chip span {
  font-size: 0.6875rem;
  color: #6b7c93;
  line-height: 1.2;
}
.student-homework-view-meta-chip strong {
  font-size: 0.8125rem;
  color: #1a2b42;
  font-weight: 600;
  line-height: 1.3;
}

/* Exam detail modals live on <body> (outside .fto-admin-scope / .fto-adm-ui) */
#exam-detail-questions-modal .modal-dialog,
#exam-detail-view-modal .modal-dialog {
  max-width: min(1100px, 100vw - 1.5rem);
}
#exam-detail-questions-modal.modal,
#exam-detail-view-modal.modal {
  --bs-modal-border-radius: 50px;
}
#exam-detail-questions-modal .modal-body,
#exam-detail-view-modal .modal-body {
  max-height: min(70vh, 640px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
#exam-detail-questions-modal .badge--blue,
#exam-detail-view-modal .badge--blue {
  background: #e8f4fc;
  color: #2563eb;
}
#exam-detail-questions-modal .badge--green,
#exam-detail-view-modal .badge--green {
  background: #e3f5ec;
  color: #22a06b;
}
#exam-detail-questions-modal .badge--red,
#exam-detail-view-modal .badge--red {
  background: #fde8e8;
  color: #c62828;
}
#exam-detail-questions-modal .badge--yellow,
#exam-detail-view-modal .badge--yellow {
  background: #fff4d6;
  color: #b8860b;
}

#exam-detail-questions-modal .fto-exam-detail-questions-table {
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 18px;
  padding: 0.75rem;
  overflow-x: auto;
}
#exam-detail-questions-modal .table-head {
  display: grid;
  gap: 0.5rem;
  align-items: center;
  grid-template-columns: minmax(48px, 0.45fr) minmax(0, 2fr) minmax(0, 1.1fr) minmax(0, 0.7fr) minmax(0, 0.65fr) minmax(0, 0.65fr);
  min-width: 820px;
  padding: 0.35rem 0.85rem 0.65rem;
  color: #6b7c93;
  font-size: 0.75rem;
  font-weight: 600;
}
#exam-detail-questions-modal .fto-directory-row.fto-exam-detail-question-row {
  display: grid;
  gap: 0.5rem;
  align-items: center;
  grid-template-columns: minmax(48px, 0.45fr) minmax(0, 2fr) minmax(0, 1.1fr) minmax(0, 0.7fr) minmax(0, 0.65fr) minmax(0, 0.65fr);
  min-width: 820px;
  margin-bottom: 0.55rem;
  padding: 0.85rem 0.95rem;
  background: #fff;
  border: 1px solid #e8edf3;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(12, 31, 61, 0.03);
}
#exam-detail-questions-modal .fto-exam-detail-question-row .col-text {
  min-width: 0;
  font-size: 0.8125rem;
  color: #1a2b42;
  line-height: 1.4;
}
@media (max-width: 991.98px) {
  #exam-detail-questions-modal .table-head {
    display: none;
  }
  #exam-detail-questions-modal .fto-directory-row.fto-exam-detail-question-row {
    grid-template-columns: 1fr;
    min-width: 0;
    gap: 0.35rem;
  }
  #exam-detail-questions-modal .fto-exam-detail-question-row > [data-mobile-label]::before {
    content: attr(data-mobile-label) ": ";
    font-weight: 700;
    color: #6b7c93;
  }
}

#exam-detail-view-modal .modal-dialog {
  max-width: min(860px, 100vw - 1.5rem);
}
#exam-detail-view-modal .student-homework-view-modal__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
#exam-detail-view-modal .student-homework-view-exam-summary {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 1rem;
  margin-bottom: 1.1rem;
  padding: 1rem;
  border: 1px solid #e8edf3;
  border-radius: 14px;
  background: #fafbfd;
}
#exam-detail-view-modal .student-homework-view-exam-score {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.75rem;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #e8edf3;
}
#exam-detail-view-modal .student-homework-view-exam-score__value {
  font-size: 1.75rem;
  font-weight: 700;
  color: #1f4169;
  line-height: 1.1;
}
#exam-detail-view-modal .student-homework-view-exam-score__value--pass {
  color: #22a06b;
}
#exam-detail-view-modal .student-homework-view-exam-score__value--fail {
  color: #c62828;
}
#exam-detail-view-modal .student-homework-view-exam-score__label {
  margin-top: 0.25rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: #6b7c93;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
#exam-detail-view-modal .student-homework-view-exam-stats,
#exam-detail-view-modal .student-homework-view-exam-breakdown {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}
#exam-detail-view-modal .student-homework-view-exam-stat,
#exam-detail-view-modal .student-homework-view-exam-breakdown__item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #e8edf3;
}
#exam-detail-view-modal .student-homework-view-exam-stat span,
#exam-detail-view-modal .student-homework-view-exam-breakdown__item span {
  font-size: 0.6875rem;
  color: #6b7c93;
}
#exam-detail-view-modal .student-homework-view-exam-stat strong,
#exam-detail-view-modal .student-homework-view-exam-breakdown__item strong {
  font-size: 0.875rem;
  color: #1a2b42;
}
#exam-detail-view-modal .student-homework-view-exam-breakdown__item--correct strong {
  color: #22a06b;
}
#exam-detail-view-modal .student-homework-view-exam-breakdown__item--wrong strong {
  color: #c62828;
}
#exam-detail-view-modal .student-homework-view-exam-breakdown__item--skipped strong {
  color: #b8860b;
}
#exam-detail-view-modal .student-homework-view-panel__block {
  margin-top: 1rem;
}
#exam-detail-view-modal .student-homework-view-panel__block h3 {
  margin: 0 0 0.65rem;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #1a2b42;
}
#exam-detail-view-modal .student-homework-view-exam-toolbar {
  margin-bottom: 0.75rem;
}
#exam-detail-view-modal .student-homework-view-exam-toolbar p {
  margin: 0;
  font-size: 0.8125rem;
  color: #6b7c93;
}
#exam-detail-view-modal .exam-paper-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
#exam-detail-view-modal .exam-paper-question {
  padding: 0.85rem 1rem;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #eef2f6;
}
#exam-detail-view-modal .exam-paper-question__head {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #1a2b42;
  margin-bottom: 0.65rem;
}
#exam-detail-view-modal .exam-paper-question__head .badge {
  margin-left: 0.25rem;
  vertical-align: middle;
}
#exam-detail-view-modal .exam-paper-question__answer {
  margin: 0.65rem 0 0;
  font-size: 0.75rem;
  color: #6b7c93;
}
#exam-detail-view-modal .exam-paper-options {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
#exam-detail-view-modal .exam-paper-option {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.5rem 0.65rem;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #e8edf3;
  font-size: 0.75rem;
  color: #1a2b42;
}
#exam-detail-view-modal .exam-paper-option__key {
  font-weight: 700;
  color: #6b7c93;
  flex-shrink: 0;
}
#exam-detail-view-modal .exam-paper-option--selected {
  border-color: #93c5fd;
  background: #eff6ff;
}
#exam-detail-view-modal .exam-paper-option--correct {
  border-color: #86efac;
  background: #f0fdf4;
}
#exam-detail-view-modal .exam-paper-option--wrong {
  border-color: #fca5a5;
  background: #fef2f2;
}
@media (max-width: 575.98px) {
  #exam-detail-view-modal .student-homework-view-exam-summary {
    grid-template-columns: 1fr;
  }
  #exam-detail-view-modal .student-homework-view-exam-stats,
  #exam-detail-view-modal .student-homework-view-exam-breakdown {
    grid-template-columns: 1fr;
  }
}

.fto-assessment-tab .assessment-homework-detail__tabs {
  margin-bottom: 0;
}
.fto-assessment-tab .assessment-homework-detail__overview.assessment-detail__panel {
  margin-top: 1rem;
}
.fto-assessment-tab .assessment-exam-detail__overview.assessment-detail__panel,
.fto-assessment-tab .assessment-exam-detail__question-paper.assessment-detail__panel {
  margin-top: 1rem;
}
.fto-assessment-tab .assessment-homework-detail__overview .assessment-info-grid,
.fto-assessment-tab .assessment-exam-detail__overview .assessment-info-grid {
  margin-bottom: 0;
}
.fto-assessment-tab .assessment-homework-detail__overview .info-chip,
.fto-assessment-tab .assessment-exam-detail__overview .info-chip {
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 14px;
  padding: 0.75rem 0.9rem;
}
.fto-assessment-tab .assessment-homework-detail__overview .info-chip__label,
.fto-assessment-tab .assessment-exam-detail__overview .info-chip__label {
  display: block;
  font-size: 11px;
  color: #6b7c93;
  margin-bottom: 2px;
}
.fto-assessment-tab .assessment-homework-detail__overview .info-chip__value,
.fto-assessment-tab .assessment-exam-detail__overview .info-chip__value {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #1a2b42;
  word-break: break-word;
}
.fto-assessment-tab .assessment-homework-detail__overview .assessment-detail__block a,
.fto-assessment-tab .assessment-exam-detail__overview .assessment-detail__block a {
  color: #0c1f3d;
  text-decoration: none;
}
.fto-assessment-tab .assessment-homework-detail__overview .assessment-detail__block a:hover,
.fto-assessment-tab .assessment-exam-detail__overview .assessment-detail__block a:hover {
  text-decoration: underline;
}
.fto-assessment-tab .assessment-homework-detail__summary-stats {
  gap: 0.5rem;
  margin-bottom: 1rem !important;
}
.fto-assessment-tab .assessment-homework-detail__summary-stats .stat-card__icon .bi {
  font-size: 1.125rem;
  line-height: 1;
}
.fto-assessment-tab .assessment-homework-detail__summary-stats .stat-card__value {
  font-size: 1.275rem;
}
.fto-assessment-tab .assessment-homework-detail__summary {
  margin: 0;
  font-size: 0.8rem;
  color: #6b7c93;
  line-height: 1.4;
}
.fto-assessment-tab .assessment-exam-detail__tabs {
  margin-bottom: 0;
}
.fto-assessment-tab .assessment-exam-detail__summary {
  margin: 0 0 1rem;
  font-size: 0.8rem;
  color: #6b7c93;
  line-height: 1.4;
}
.fto-assessment-tab .directory.assessment-homework-detail__assigned,
.fto-assessment-tab .directory.assessment-homework-detail__submissions,
.fto-assessment-tab .directory.assessment-homework-detail__results,
.fto-assessment-tab .directory.assessment-homework-detail__reminders {
  min-width: 0;
  max-width: 100%;
}
.fto-assessment-tab .directory.assessment-homework-detail__assigned .directory__header,
.fto-assessment-tab .directory.assessment-homework-detail__submissions .directory__header {
  margin-bottom: 1rem;
}
.fto-assessment-tab .directory.assessment-exam-detail__assigned,
.fto-assessment-tab .directory.assessment-exam-detail__results,
.fto-assessment-tab .directory.assessment-exam-detail__attendance,
.fto-assessment-tab .directory.assessment-exam-detail__notifications {
  min-width: 0;
  max-width: 100%;
}
.fto-assessment-tab .directory.assessment-exam-detail__assigned .directory__header,
.fto-assessment-tab .directory.assessment-exam-detail__results .directory__header,
.fto-assessment-tab .directory.assessment-exam-detail__attendance .directory__header {
  margin-bottom: 1rem;
}
.fto-assessment-tab .assessment-page__tabs {
  margin-bottom: 1.25rem;
}
.fto-assessment-tab .directory.assessment-page__homeworkPanel,
.fto-assessment-tab .directory.assessment-page__examsPanel,
.fto-assessment-tab .directory.assessment-page__dgcaPanel,
.fto-assessment-tab .directory.assessment-page__papersPanel,
.fto-assessment-tab .directory.assessment-page__templatesPanel {
  min-width: 0;
  max-width: 100%;
}
.fto-assessment-tab .directory.assessment-page__homeworkPanel .directory__header,
.fto-assessment-tab .directory.assessment-page__examsPanel .directory__header,
.fto-assessment-tab .directory.assessment-page__dgcaPanel .directory__header,
.fto-assessment-tab .directory.assessment-page__papersPanel .directory__header,
.fto-assessment-tab .directory.assessment-page__templatesPanel .directory__header {
  margin-bottom: 1rem;
}
.fto-assessment-tab .assessment-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.fto-assessment-tab .assessment-card {
  display: flex;
  flex-direction: column;
  padding: 0.875rem 1rem;
}
.fto-assessment-tab .assessment-card .badge {
  align-self: flex-start;
  margin-bottom: 0.25rem;
}
.fto-assessment-tab .assessment-card .badge + h3 {
  margin-top: 0;
}
.fto-assessment-tab .assessment-card h3 {
  margin: 0.3rem 0 0.25rem;
  font-size: 0.875rem;
  line-height: 1.3;
}
.fto-assessment-tab .assessment-card p {
  margin: 0 0 0.75rem;
  font-size: 0.75rem;
  line-height: 1.35;
  flex: 1;
}
.fto-assessment-tab .assessment-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-top: auto;
}
.fto-assessment-tab .assessment-card__actions .btn {
  min-height: 0;
  padding: 0.28rem 0.55rem;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.25;
  border-radius: 999px;
  justify-content: center;
}
.fto-assessment-tab .assessment-card__actions .btn--primary {
  flex: 1 1 100%;
  padding: 0.32rem 0.65rem;
}
.fto-assessment-tab .assessment-card__actions .btn--secondary,
.fto-assessment-tab .assessment-card__actions .btn--outline {
  flex: 1 1 calc(33.333% - 0.2rem);
  min-width: 0;
  padding: 0.28rem 0.35rem;
}
.fto-assessment-tab .assessment-card__actions .btn--view {
  flex: 0 1 auto;
  padding: 0.32rem 0.85rem;
  font-size: 0.6875rem;
}

.fto-resources-tab .stats.stats--content {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 575.98px) {
  .fto-resources-tab .stats.stats--content {
    grid-template-columns: 1fr;
  }
}
.fto-resources-tab .resource-page__tabs {
  margin-bottom: 1.25rem;
}
.fto-resources-tab .directory.resource-page__pptPanel,
.fto-resources-tab .directory.resource-page__qbPanel {
  min-width: 0;
  max-width: 100%;
}
.fto-resources-tab .directory.resource-page__pptPanel .directory__header,
.fto-resources-tab .directory.resource-page__qbPanel .directory__header {
  margin-bottom: 1rem;
}
.fto-resources-tab .assessment-resources-detail__overview.assessment-detail__panel {
  margin-top: 0;
}
.fto-resources-tab .assessment-resources-detail__overview .assessment-info-grid {
  margin-bottom: 0;
}
.fto-resources-tab .assessment-resources-detail__overview .info-chip {
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 14px;
  padding: 0.75rem 0.9rem;
}
.fto-resources-tab .assessment-resources-detail__overview .info-chip__label {
  display: block;
  font-size: 11px;
  color: #6b7c93;
  margin-bottom: 2px;
}
.fto-resources-tab .assessment-resources-detail__overview .info-chip__value {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #1a2b42;
  word-break: break-word;
}
.fto-resources-tab .lc-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.fto-resources-tab .lc-type-badge--ppt {
  background: #eef2ff;
  color: #4f46e5;
}
.fto-resources-tab .lc-type-badge--video {
  background: #fef3c7;
  color: #b45309;
}
.fto-resources-tab .resource-question-options {
  margin: 0;
  padding-left: 1.25rem;
}
.fto-resources-tab .resource-question-option--correct {
  font-weight: 700;
  color: #0c1f3d;
}

.fto-lc-history-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(12, 31, 61, 0.55);
  backdrop-filter: blur(4px);
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
.fto-lc-history-overlay.is-visible {
  display: flex;
}

.lc-history-modal {
  width: 100%;
  max-width: 720px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 16px 48px rgba(12, 31, 61, 0.2);
  padding: 1.5rem 1.5rem 1.25rem;
}
.lc-history-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.35rem;
}
.lc-history-modal__title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: #1a2b42;
}
.lc-history-modal__subtitle {
  margin: 0 0 1rem;
  font-size: 0.8rem;
  color: #6b7c93;
}
.lc-history-modal__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  border-radius: 10px;
  background: #f1f5f9;
  color: #64748b;
  cursor: pointer;
}
.lc-history-modal__close svg {
  width: 18px;
  height: 18px;
}
.lc-history-modal__actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.15rem;
}

.lc-history-table {
  border: 1px solid #eef2f6;
  border-radius: 12px;
  overflow: hidden;
}
.lc-history-table__head,
.lc-history-table .lc-history-row {
  display: grid;
  grid-template-columns: 1.1fr 0.75fr 0.75fr 1.4fr;
  gap: 0.65rem;
  padding: 0.75rem 1rem;
  font-size: 13px;
  align-items: center;
}
.lc-history-table__head {
  background: #f8fafc;
  font-weight: 700;
  color: #6b7c93;
  font-size: 12px;
  border-bottom: 1px solid #eef2f6;
}
.lc-history-table__body .lc-history-row {
  border-bottom: 1px solid #eef2f6;
  color: #1a2b42;
}
.lc-history-table__body .lc-history-row:last-child {
  border-bottom: none;
}
@media (max-width: 767.98px) {
  .lc-history-table__head {
    display: none;
  }
  .lc-history-table__body .lc-history-row {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
  .lc-history-table__body .lc-history-row span::before {
    display: block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    color: #6b7c93;
    margin-bottom: 2px;
  }
  .lc-history-table__body .lc-history-row span:nth-child(1)::before {
    content: "Date & Time";
  }
  .lc-history-table__body .lc-history-row span:nth-child(2)::before {
    content: "Action";
  }
  .lc-history-table__body .lc-history-row span:nth-child(3)::before {
    content: "User";
  }
  .lc-history-table__body .lc-history-row span:nth-child(4)::before {
    content: "Details";
  }
}

@media (max-width: 767.98px) {
  .fto-detail-page .main-layout {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  .fto-detail-page .fto-detail .content {
    margin-left: 0;
    margin-right: 0;
    min-width: 0;
    max-width: 100%;
  }
  .fto-student-detail-page .main-layout {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .fto-student-detail-page .fto-student-detail .content {
    margin-left: 8px;
    margin-right: 8px;
  }
  .fto-payments-tab .page-header {
    margin-bottom: 14px;
  }
  .fto-payments-tab .page-header h2 {
    font-size: 16px;
  }
  .fto-payments-tab .page-header p {
    font-size: 12px;
    line-height: 1.45;
  }
  .fto-payments-tab .fto-payments-notice {
    padding: 10px 12px;
    margin-bottom: 0.85rem;
    gap: 8px;
    font-size: 12px;
    border-radius: 12px;
  }
  .fto-payments-tab .fto-payments-config {
    padding: 0.85rem 0.65rem;
    border-radius: 16px;
    margin-bottom: 0.85rem !important;
  }
  .fto-payments-tab .directory .btn--export {
    width: 100%;
    justify-content: center;
    padding: 8px 14px;
  }
}
@media (max-width: 991.98px) {
  .fto-assessment-tab .assessment-cards {
    grid-template-columns: 1fr;
  }
  .fto-assessment-tab .assessment-template-tabs {
    flex-wrap: wrap;
  }
  .fto-adm-ui .student-details-header {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
  .fto-adm-ui .student-details-header__actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }
  .fto-adm-ui .student-details-header__actions .btn {
    width: 100%;
    min-width: 0;
    justify-content: center;
    text-align: center;
    white-space: normal;
    line-height: 1.25;
  }
  .fto-adm-ui .student-details-cards {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .fto-adm-ui .student-profile-card__top {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .fto-adm-ui .student-profile-card__badge {
    align-self: flex-start;
    max-width: 100%;
    white-space: normal;
  }
  .fto-adm-ui .student-profile-card__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .fto-adm-ui .detail-fields {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
@media (max-width: 767.98px) {
  .fto-assessment-tab .assessment-card__actions .btn--secondary,
  .fto-assessment-tab .assessment-card__actions .btn--outline {
    flex: 1 1 calc(50% - 0.15rem);
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui .student-details-header__actions {
    grid-template-columns: 1fr !important;
  }
  .fto-adm-ui .student-profile-card__grid {
    grid-template-columns: 1fr !important;
  }
  .fto-detail-page .main-layout {
    padding-left: 0.375rem !important;
    padding-right: 0.375rem !important;
  }
  .fto-detail-page .fto-detail .content {
    margin-left: 6px;
    margin-right: 6px;
  }
  .fto-student-detail-page .main-layout {
    padding-left: 0.375rem !important;
    padding-right: 0.375rem !important;
  }
  .fto-student-detail-page .fto-student-detail .content {
    margin-left: 6px;
    margin-right: 6px;
  }
  .fto-program-detail-page .main-layout {
    padding-left: 0.375rem !important;
    padding-right: 0.375rem !important;
  }
  .fto-program-detail-page .fto-program-detail .content {
    margin-left: 6px;
    margin-right: 6px;
  }
  .fto-batch-detail-page .main-layout {
    padding-left: 0.375rem !important;
    padding-right: 0.375rem !important;
  }
  .fto-batch-detail-page .fto-batch-detail .content {
    margin-left: 6px;
    margin-right: 6px;
  }
  .fto-classroom-detail-page .main-layout {
    padding-left: 0.375rem !important;
    padding-right: 0.375rem !important;
  }
  .fto-classroom-detail-page .fto-classroom-detail .content {
    margin-left: 6px;
    margin-right: 6px;
  }
  .fto-lesson-plan-detail-page .main-layout {
    padding-left: 0.375rem !important;
    padding-right: 0.375rem !important;
  }
  .fto-lesson-plan-detail-page .fto-lesson-plan-detail .content {
    margin-left: 6px;
    margin-right: 6px;
  }
  .fto-cgi-instructor-detail-page .main-layout {
    padding-left: 0.375rem !important;
    padding-right: 0.375rem !important;
  }
  .fto-cgi-instructor-detail-page .fto-cgi-instructor-detail .content {
    margin-left: 6px;
    margin-right: 6px;
  }
  .fto-staff-detail-page .main-layout {
    padding-left: 0.375rem !important;
    padding-right: 0.375rem !important;
  }
  .fto-staff-detail-page .fto-staff-detail .content {
    margin-left: 6px;
    margin-right: 6px;
  }
  .fto-payments-tab .fto-payments-config {
    padding: 0.75rem 0.55rem;
  }
  .fto-attendance-tab .directory.attendance-page__overview {
    padding: 10px 8px 12px;
  }
}
.attendance-page__overview {
  margin-top: 0;
  background: transparent;
  border: none;
  padding: 0;
}
.attendance-page__tabs {
  margin-bottom: 1.25rem;
}
.attendance-page__dateFilters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  margin-right: auto;
}
.attendance-page__dateField {
  margin: 0;
  min-width: 0;
}
.attendance-page__dateField label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 12px;
  font-weight: 600;
  color: #6b7c93;
}
.attendance-page__dateField .form-field__control input[type=date] {
  width: 100%;
  min-width: 10.5rem;
  height: 42px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 0 16px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  color: #0c1f3d;
  background: #fff;
}
.attendance-page .attendance-live-table .table-body {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row {
  margin: 0;
  background: #fff;
  border: 1px solid #e8ecf0;
  border-radius: 20px;
  box-shadow: 0 2px 10px rgba(31, 65, 105, 0.06);
}
@media (min-width: 1101px) {
  .attendance-page .attendance-live-table .table-head,
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row {
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 1.1fr) minmax(0, 0.95fr) minmax(0, 0.75fr) minmax(0, 1.15fr) minmax(0, 0.65fr) minmax(0, 0.75fr) minmax(0, 0.7fr) minmax(120px, 132px);
    min-width: 1100px;
  }
  .attendance-page .attendance-live-table .attendance-live-row__classname {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .attendance-page .attendance-live-table .attendance-live-row__time {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (max-width: 1100.98px) {
  .attendance-page .attendance-live-table {
    overflow-x: visible;
  }
  .attendance-page .attendance-live-table .table-head {
    display: none !important;
  }
  .attendance-page .attendance-live-table .table-head,
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    grid-template-columns: 1fr !important;
  }
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.7rem;
    padding: 1rem 1.1rem;
    overflow: visible !important;
  }
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label] {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 0.85rem;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    text-align: right !important;
    white-space: normal !important;
    overflow: visible !important;
  }
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label]::before {
    content: attr(data-mobile-label) !important;
    display: block !important;
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    color: #6b7c93 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em;
    flex: 0 0 auto !important;
    max-width: 42%;
    text-align: left !important;
    line-height: 1.3;
    align-self: center !important;
  }
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label].col-subject {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    column-gap: 0.85rem;
    align-items: start !important;
    justify-content: unset !important;
    flex-direction: unset !important;
  }
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label].col-subject::before {
    grid-column: 1;
    align-self: start !important;
    padding-top: 0.15rem;
    max-width: none;
  }
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label].col-subject [data-directory-cell=classname] {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.15rem;
    width: 100%;
    min-width: 0;
    text-align: right;
    overflow: visible;
  }
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label].col-subject .dashboard-live-row__class-link,
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label].col-subject strong,
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label].col-subject .dashboard-live-row__lecture,
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label].col-subject .attendance-live-row__classname {
    width: 100%;
    text-align: right !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label].attendance-live-row__time {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    column-gap: 0.85rem;
    row-gap: 0.2rem;
    align-items: start !important;
    justify-content: unset !important;
    flex-direction: unset !important;
    text-align: right !important;
  }
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label].attendance-live-row__time::before {
    grid-column: 1;
    grid-row: 1/span 2;
    align-self: center !important;
    max-width: none;
  }
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label].attendance-live-row__time .attendance-live-row__planned,
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label].attendance-live-row__time .attendance-live-row__actual {
    grid-column: 2;
    justify-self: end;
    text-align: right !important;
    width: auto;
    max-width: 100%;
  }
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label][data-directory-cell=status] .dash-live-status {
    margin-left: auto;
    flex-shrink: 0;
  }
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label].col-action {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    text-align: left !important;
  }
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label].col-action::before {
    align-self: center !important;
  }
  .attendance-page .attendance-live-table .fto-directory-row.dashboard-live-row > [data-mobile-label].col-action .dash-btn {
    width: auto !important;
    min-width: 6.5rem;
    margin-left: auto;
    flex: 0 0 auto;
    justify-content: center;
  }
}
.attendance-page .attendance-live-table .attendance-live-row__classname {
  display: block;
  max-width: 100%;
}
.attendance-page .attendance-live-table .attendance-live-row__time {
  gap: 0.2rem;
  line-height: 1.35;
  font-size: 0.78rem;
}
.attendance-page .attendance-live-table .attendance-live-row__time strong {
  font-weight: 700;
  color: inherit;
}
.attendance-page .attendance-live-table .attendance-live-row__planned {
  color: #0c1f3d;
  font-weight: 600;
}
.attendance-page .attendance-live-table .attendance-live-row__actual {
  color: #6b7c93;
  font-weight: 500;
}
.attendance-page .attendance-live-table .attendance-live-row__actual--late {
  color: #F15B55;
  font-weight: 700;
}
.attendance-page__liveList {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.attendance-page__liveRow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 1.25rem;
  padding: 14px 16px;
  border: 1px solid #eef2f6;
  border-radius: 16px;
  background: #ffffff;
  transition: box-shadow 0.15s;
}
.attendance-page__liveRow:hover {
  box-shadow: 0 4px 18px rgba(12, 31, 61, 0.06);
}
.attendance-page__liveMain {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.attendance-page__liveThumb {
  flex-shrink: 0;
  width: 72px;
  height: 52px;
  border-radius: 10px;
  object-fit: cover;
  background: #e2e8f0;
}
.attendance-page__liveInfo {
  min-width: 0;
}
.attendance-page__liveBatch {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  color: #F15B55;
  margin-bottom: 0.2rem;
}
.attendance-page__liveTitle {
  margin: 0 0 0.45rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.3;
}
.attendance-page__liveMeta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 0.72rem;
  color: #6b7c93;
}
.attendance-page__liveMeta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.attendance-page__liveMeta svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.attendance-page__liveCount {
  text-align: center;
  min-width: 88px;
}
.attendance-page__liveFraction {
  display: block;
  font-size: 1.35rem;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.1;
}
.attendance-page__liveFraction span {
  font-size: 0.95rem;
  font-weight: 600;
  color: #6b7c93;
}
.attendance-page__liveCountLabel {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.72rem;
  color: #6b7c93;
}
.attendance-page__monitorBtn {
  white-space: nowrap;
  min-width: 96px;
  text-align: center;
}
.attendance-page__placeholder {
  margin: 0;
  padding: 2rem 1rem;
  text-align: center;
  color: #6b7c93;
  font-size: 0.9rem;
}
.attendance-page__studentToolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
  width: 100%;
}
.attendance-page__studentToolbar .attendance-page__studentFilters.directory__tools,
.attendance-page__studentToolbar .attendance-page__studentFilters {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  margin-left: 0;
  width: auto;
  justify-content: flex-start;
}
.attendance-page__studentToolbar .attendance-page__studentSummary {
  margin-left: auto;
  flex-shrink: 0;
}
.attendance-page__studentFilters {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  margin-left: 0;
  width: auto;
}
.attendance-page__filterField {
  min-width: 0;
}
.attendance-page__filterField label {
  font-size: 12px;
  font-weight: 700;
  color: #6b7c93;
  margin-bottom: 6px;
}
.attendance-page__filterField .form-field__control select {
  padding-top: 11px;
  padding-bottom: 11px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 999px;
}
.attendance-page__studentSummary {
  flex-shrink: 0;
}
.attendance-page__studentSummary:not(.notifications-tabs) {
  display: flex;
  align-items: center;
  gap: 10px;
}
.attendance-page__summaryBtn {
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 12px 28px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.15s, box-shadow 0.15s;
  line-height: 1;
}
.attendance-page__summaryBtn--present {
  background: #ffffff;
  border-color: #e2e8f0;
  color: #6b7c93;
}
.attendance-page__summaryBtn--present.attendance-page__summaryBtn--active {
  background: #f0fdf4;
  border-color: #22c55e;
  color: #16a34a;
  box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.15);
}
.attendance-page__summaryBtn--absent {
  background: #ffffff;
  border-color: #e2e8f0;
  color: #6b7c93;
}
.attendance-page__summaryBtn--absent.attendance-page__summaryBtn--active {
  background: #fee2e2;
  border-color: #ef4444;
  color: #ef4444;
  box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.12);
}
.attendance-page__summaryBtn:hover {
  opacity: 0.92;
}
.attendance-page__studentTable {
  overflow-x: auto;
}
.attendance-page__studentHead, .attendance-page__studentRow {
  display: grid;
  grid-template-columns: 56px 1.15fr 0.75fr 0.65fr 1.15fr 0.75fr 0.95fr 0.75fr;
  align-items: center;
  gap: 0.75rem;
  min-width: 860px;
}
.attendance-page__studentHead {
  padding: 0 16px 10px;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.attendance-page__studentList {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.attendance-page__studentRow {
  padding: 14px 16px;
  border: 1px solid #eef2f6;
  border-radius: 16px;
  background: #ffffff;
  font-size: 0.82rem;
  color: #1a2b42;
  box-shadow: 0 2px 10px rgba(12, 31, 61, 0.03);
  transition: box-shadow 0.15s;
}
.attendance-page__studentRow[hidden] {
  display: none !important;
}
.attendance-page__studentRow:hover {
  box-shadow: 0 4px 18px rgba(12, 31, 61, 0.06);
}
.attendance-page__studentProfile {
  display: flex;
  align-items: center;
}
.attendance-page__studentAvatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  display: block;
}
.attendance-page__avatarWrap {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
}
.attendance-page__avatarWrap--lg {
  width: 48px;
  height: 48px;
}
.attendance-page__avatarWrap img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.attendance-page__avatar-status {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(12, 31, 61, 0.18);
}
.attendance-page__avatar-status--online {
  background: #22a06b;
}
.attendance-page__avatar-status--offline {
  background: #94a3b8;
}
.attendance-page__studentName {
  font-weight: 700;
  color: #1a2b42;
}
.attendance-page__joinBadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  border: 1px solid transparent;
  background: transparent;
  white-space: nowrap;
}
.attendance-page__joinBadge--ontime {
  border-color: #22c55e;
  color: #16a34a;
}
.attendance-page__joinBadge--late {
  border-color: #f97316;
  color: #ea580c;
}
.attendance-page__joinBadge--not-joined {
  border-color: #d1d5db;
  color: #6b7280;
  background: #f3f4f6;
}
.attendance-page__instructorGrid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.attendance-page__instructorCard {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px;
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 18px;
  box-shadow: 0 2px 12px rgba(12, 31, 61, 0.04);
}
.attendance-page__instructorHead {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: start;
  gap: 12px;
}
.attendance-page__instructorAvatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.attendance-page__instructorMeta {
  min-width: 0;
}
.attendance-page__instructorName {
  margin: 0 0 2px;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.3;
}
.attendance-page__instructorId {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
  margin-bottom: 6px;
}
.attendance-page__instructorBadge {
  margin-top: 2px;
}
.attendance-page__instructorMenu {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: #6b7c93;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.attendance-page__instructorMenu svg {
  width: 18px;
  height: 18px;
}
.attendance-page__instructorMenu:hover {
  background: #f1f5f9;
  color: #1a2b42;
}
.attendance-page__instructorHighlight {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.attendance-page__instructorStatBox {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 14px;
  background: linear-gradient(135deg, #0c1f3d 0%, #1a3352 100%);
  color: #ffffff;
  min-width: 0;
}
.attendance-page__instructorStatLabel {
  font-size: 0.68rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.72);
}
.attendance-page__instructorStatValue {
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.3;
  word-break: break-word;
}
.attendance-page__instructorMetrics {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.attendance-page__instructorMetric {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 14px;
  border: 1px solid #e8edf2;
  border-radius: 12px;
  font-size: 0.78rem;
  font-weight: 600;
  color: #6b7c93;
  background: #fafbfc;
}
.attendance-page__instructorMetricValue {
  font-size: 0.88rem;
  font-weight: 700;
}
.attendance-page__instructorMetricValue--red {
  color: #c62828;
}
.attendance-page__instructorMetricValue--green {
  color: #16a34a;
}
.attendance-page__reportsTable {
  overflow-x: auto;
}
.attendance-page__reportsHead, .attendance-page__reportsRow {
  display: grid;
  grid-template-columns: 1.1fr 2fr 120px;
  align-items: center;
  gap: 1rem;
  min-width: 640px;
}
.attendance-page__reportsHead {
  padding: 0 16px 10px;
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7c93;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.attendance-page__reportsHead span:last-child {
  text-align: center;
}
.attendance-page__reportsList {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.attendance-page__reportsRow {
  padding: 16px 18px;
  border: 1px solid #eef2f6;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(12, 31, 61, 0.03);
  transition: box-shadow 0.15s;
}
.attendance-page__reportsRow:hover {
  box-shadow: 0 4px 18px rgba(12, 31, 61, 0.06);
}
.attendance-page__reportsName {
  font-size: 0.88rem;
  font-weight: 700;
  color: #1a2b42;
  line-height: 1.35;
}
.attendance-page__reportsPurpose {
  font-size: 0.8rem;
  font-weight: 500;
  color: #6b7c93;
  line-height: 1.45;
}
.attendance-page__reportsFile {
  display: flex;
  justify-content: center;
}
.attendance-page__reportsActions {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.attendance-page__reportsInfo, .attendance-page__reportsDownload {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.attendance-page__reportsInfo svg, .attendance-page__reportsDownload svg {
  width: 20px;
  height: 20px;
}
.attendance-page__reportsInfo {
  color: #2563eb;
}
.attendance-page__reportsInfo:hover {
  background: #eff6ff;
}
.attendance-page__reportsDownload {
  color: #6b7c93;
}
.attendance-page__reportsDownload:hover {
  background: #f1f5f9;
  color: #1a2b42;
}
.attendance-page__reportsDivider {
  width: 1px;
  height: 22px;
  background: #e2e8f0;
  flex-shrink: 0;
}

@media (max-width: 991.98px) {
  .fto-attendance-tab.attendance-page .stats.stats--content,
  .fto-adm-ui.attendance-page .stats.stats--content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }
  .fto-attendance-tab.attendance-page .attendance-page__tabs,
  .fto-adm-ui.attendance-page .attendance-page__tabs {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
  }
  .fto-attendance-tab.attendance-page .attendance-page__liveRow,
  .fto-adm-ui.attendance-page .attendance-page__liveRow {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .fto-attendance-tab.attendance-page .attendance-page__liveCount,
  .fto-adm-ui.attendance-page .attendance-page__liveCount {
    text-align: left;
  }
  .fto-attendance-tab.attendance-page .attendance-page__monitorBtn,
  .fto-adm-ui.attendance-page .attendance-page__monitorBtn {
    width: 100%;
    max-width: none;
    justify-content: center;
  }
  .fto-attendance-tab.attendance-page .attendance-page__studentSummary,
  .fto-adm-ui.attendance-page .attendance-page__studentSummary {
    width: 100%;
    max-width: 100%;
  }
  .fto-attendance-tab.attendance-page .attendance-page__studentSummary .notifications-tabs__btn,
  .fto-attendance-tab.attendance-page .attendance-page__studentSummary .attendance-page__summaryBtn,
  .fto-adm-ui.attendance-page .attendance-page__studentSummary .notifications-tabs__btn,
  .fto-adm-ui.attendance-page .attendance-page__studentSummary .attendance-page__summaryBtn {
    flex: 1;
    text-align: center;
    justify-content: center;
  }
  .fto-attendance-tab.attendance-page .attendance-page__instructorGrid,
  .fto-adm-ui.attendance-page .attendance-page__instructorGrid {
    grid-template-columns: 1fr;
  }
  .fto-attendance-tab.attendance-page .attendance-page__reportsActions,
  .fto-adm-ui.attendance-page .attendance-page__reportsActions {
    margin-left: auto;
  }
  .fto-attendance-tab.attendance-page .directory.fto-directory-table .directory__header--tools-only,
  .fto-attendance-tab.attendance-page .directory.fto-directory-table .directory__tools,
  .fto-attendance-tab.attendance-page .directory.fto-directory-table .directory__tools-end,
  .fto-attendance-tab.attendance-page .directory.fto-directory-table .directory__search,
  .fto-adm-ui.attendance-page .directory.fto-directory-table .directory__header--tools-only,
  .fto-adm-ui.attendance-page .directory.fto-directory-table .directory__tools,
  .fto-adm-ui.attendance-page .directory.fto-directory-table .directory__tools-end,
  .fto-adm-ui.attendance-page .directory.fto-directory-table .directory__search {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui.attendance-page .stats.stats--content {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 575px) {
  .attendance-page__liveMain {
    flex-direction: column;
    align-items: flex-start;
  }
  .attendance-page__liveThumb {
    width: 100%;
    height: 120px;
  }
  .attendance-page__monitorBtn {
    max-width: none;
  }
  .attendance-page__studentFilters {
    width: 100%;
  }
  .attendance-page__studentSummary {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
  }
  .attendance-page__studentSummary .notifications-tabs__btn,
  .attendance-page__studentSummary .attendance-page__summaryBtn {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    text-align: center;
    justify-content: center;
  }
  .attendance-page__instructorHighlight {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui.attendance-page .form-field__control {
  position: relative;
  display: flex;
  align-items: center;
}
.fto-adm-ui.attendance-page .form-field__control select {
  width: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 11px 40px 11px 16px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  color: #1a2b42;
  background: #fff;
  appearance: none;
}
.fto-adm-ui.attendance-page .form-field__control--select .form-field__chevron {
  position: absolute;
  right: 16px;
  width: 16px;
  height: 16px;
  color: #6b7c93;
  pointer-events: none;
}
.fto-adm-ui.attendance-page .form-field__control--date input[type=date] {
  width: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 10px 16px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  color: #1a2b42;
  background: #fff;
}
.fto-adm-ui.attendance-page .attendance-page__instructorToolbar {
  margin-bottom: 1rem;
}
.fto-adm-ui.attendance-page .attendance-page__instructorHistoryBtn {
  flex-shrink: 0;
  margin-left: auto;
}
@media (max-width: 991.98px) {
  .fto-adm-ui.attendance-page .fto-detail-attendance-students-table .table-head,
  .fto-adm-ui.attendance-page .fto-detail-attendance-students-table .fto-directory-row.fto-detail-attendance-student-row,
  .fto-adm-ui.attendance-page .fto-detail-attendance-students-table .fto-directory-row.fto-detail-attendance-instructor-row,
  .fto-adm-ui.attendance-page .fto-detail-attendance-students-table .fto-directory-row.fto-detail-attendance-report-row,
  .fto-adm-ui.attendance-page .fto-detail-attendance-instructors-table .table-head,
  .fto-adm-ui.attendance-page .fto-detail-attendance-instructors-table .fto-directory-row.fto-detail-attendance-student-row,
  .fto-adm-ui.attendance-page .fto-detail-attendance-instructors-table .fto-directory-row.fto-detail-attendance-instructor-row,
  .fto-adm-ui.attendance-page .fto-detail-attendance-instructors-table .fto-directory-row.fto-detail-attendance-report-row,
  .fto-adm-ui.attendance-page .fto-detail-attendance-reports-table .table-head,
  .fto-adm-ui.attendance-page .fto-detail-attendance-reports-table .fto-directory-row.fto-detail-attendance-student-row,
  .fto-adm-ui.attendance-page .fto-detail-attendance-reports-table .fto-directory-row.fto-detail-attendance-instructor-row,
  .fto-adm-ui.attendance-page .fto-detail-attendance-reports-table .fto-directory-row.fto-detail-attendance-report-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}

.fto-adm-ui.attendance-history-page .attendance-history-page__overview {
  margin-bottom: 1.25rem;
}
.fto-adm-ui.attendance-history-page .att-history-page__person {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1rem;
}
.fto-adm-ui.attendance-history-page .att-history-page__person .col-profile__avatar-wrap {
  width: 44px;
  height: 44px;
}
.fto-adm-ui.attendance-history-page .att-history-page__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
}
.fto-adm-ui.attendance-history-page .att-history-page__personMeta {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}
.fto-adm-ui.attendance-history-page .att-history-page__personMeta strong {
  font-size: 1.05rem;
  color: #1a2b42;
}
.fto-adm-ui.attendance-history-page .att-history-page__personMeta span {
  font-size: 0.82rem;
  color: #6b7c93;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .directory__header {
  overflow: visible;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .directory__tools {
  width: 100%;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .directory__tools-end {
  display: flex;
  flex: 0 0 auto;
  min-width: auto;
  margin-left: auto;
  overflow: visible;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap {
  position: relative;
  flex: 0 0 auto;
  z-index: 5;
  width: 213px;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap__trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  width: 100%;
  min-height: 42px;
  min-width: 0;
  max-width: none;
  padding: 0.55rem 1rem;
  margin: 0;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #fff;
  color: #1a2b42;
  font-family: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
  cursor: pointer;
  box-sizing: border-box;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap__trigger i {
  flex-shrink: 0;
  font-size: 1rem;
  color: #6b7c93;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap__trigger span {
  overflow: hidden;
  text-overflow: ellipsis;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap__trigger:hover {
  border-color: rgba(12, 31, 61, 0.35);
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap__trigger[aria-expanded=true] {
  border-color: #0c1f3d;
  box-shadow: 0 0 0 3px rgba(12, 31, 61, 0.12);
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap .dash-date-range-popover {
  left: 0;
  right: auto;
  z-index: 40;
  width: 100%;
  margin: 0;
  padding: 2.25rem 0.85rem 1rem !important;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.14);
  box-sizing: border-box;
  overflow: visible;
  text-align: left;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap .dash-date-range-popover[hidden] {
  display: none !important;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap .dash-date-range-popover__close {
  position: absolute;
  top: 0.55rem;
  right: 0.55rem;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0 !important;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: #6b7c93;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap .dash-date-range-popover__close:hover {
  background: #f1f5f9;
  color: #0c1f3d;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap .dash-date-range-popover__fields {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0 0 0.85rem;
  padding: 0 !important;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap .dash-date-range-popover__field {
  min-width: 0;
  margin: 0;
  padding: 0 !important;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap .dash-date-range-popover__field label {
  display: block;
  margin: 0 0 0.35rem;
  padding: 0 !important;
  font-size: 0.75rem;
  font-weight: 600;
  color: #6b7c93;
  text-align: left;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap .dash-date-range-popover__input {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 40px;
  margin: 0;
  padding: 0 0.75rem !important;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  font-size: 0.8125rem;
  color: #0c1f3d;
  background: #fff;
  box-sizing: border-box;
  box-shadow: none;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap .dash-date-range-popover__input[type=date] {
  min-width: 0;
  color-scheme: light;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap .dash-date-range-popover__input:focus {
  border-color: rgba(12, 31, 61, 0.35);
  outline: none;
  box-shadow: 0 0 0 0.15rem rgba(12, 31, 61, 0.08);
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap .dash-date-range-popover__ok {
  display: block;
  width: auto;
  margin: 0 auto;
  padding: 0.35rem 0.75rem !important;
  border: none;
  background: transparent;
  color: #2563eb;
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap .dash-date-range-popover__ok:hover {
  color: #1d4ed8;
}
.fto-adm-ui.attendance-history-page .att-history-page__summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  flex: 1 1 auto;
  min-width: 0;
}
.fto-adm-ui.attendance-history-page .att-history-page__chip {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  background: #eef2f7;
  color: #0c1f3d;
}
.fto-adm-ui.attendance-history-page .att-history-page__chip--green {
  background: #e6f4ea;
  color: #1e7e45;
}
.fto-adm-ui.attendance-history-page .att-history-page__chip--red {
  background: #fde8e8;
  color: #c0392b;
}
.fto-adm-ui.attendance-history-page .att-history-page__chip--amber {
  background: #fff4e5;
  color: #b7791f;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__table .table-body {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row {
  margin: 0;
  background: #fff;
  border: 1px solid #e8ecf0;
  border-radius: 20px;
  box-shadow: 0 2px 10px rgba(31, 65, 105, 0.06);
}
@media (min-width: 1101px) {
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .table-head,
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row {
    display: grid;
    gap: 0.5rem;
    align-items: center;
    min-width: 980px;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table[data-att-history-mode=student] .table-head,
  .fto-adm-ui.attendance-history-page .attendance-history-page__table[data-att-history-mode=student] .attendance-history-page__row {
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.2fr) minmax(0, 0.85fr) minmax(0, 1fr) minmax(0, 0.9fr) minmax(0, 0.85fr) minmax(0, 0.75fr) minmax(0, 0.65fr);
    min-width: 1100px;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table[data-att-history-mode=instructor] .table-head,
  .fto-adm-ui.attendance-history-page .attendance-history-page__table[data-att-history-mode=instructor] .attendance-history-page__row {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.45fr) minmax(0, 0.95fr) minmax(0, 1.2fr) minmax(0, 0.55fr) minmax(0, 0.85fr) minmax(0, 0.7fr);
    min-width: 1080px;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__dateStack,
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__classStack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__time {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    line-height: 1.35;
    font-size: 0.78rem;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__joinStack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }
}
.fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__classSub {
  color: #6b7c93;
  font-size: 0.8125rem;
  font-weight: 500;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__date,
.fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__class {
  line-height: 1.35;
}
.fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__timeOnly {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #6b7c93;
}
@media (max-width: 1100.98px) {
  .fto-adm-ui.attendance-history-page .attendance-history-page__table {
    overflow-x: visible;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .table-head {
    display: none !important;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .table-head,
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    grid-template-columns: 1fr !important;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.7rem;
    padding: 1rem 1.1rem;
    overflow: visible !important;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label] {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 0.85rem;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    text-align: right !important;
    white-space: normal !important;
    overflow: visible !important;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label]::before {
    content: attr(data-mobile-label) !important;
    display: block !important;
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    color: #6b7c93 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em;
    flex: 0 0 auto !important;
    max-width: 42%;
    text-align: left !important;
    line-height: 1.3;
    align-self: center !important;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__date {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    column-gap: 0.85rem;
    align-items: start !important;
    justify-content: unset !important;
    flex-direction: unset !important;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__date::before {
    grid-column: 1;
    align-self: start !important;
    padding-top: 0.15rem;
    max-width: none;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__date .attendance-history-page__dateStack,
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__date > strong {
    grid-column: 2;
    justify-self: end;
    text-align: right !important;
    width: 100%;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__date .attendance-history-page__dateStack {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.15rem;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__date strong,
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__date .attendance-history-page__timeOnly {
    text-align: right !important;
    width: 100%;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__class {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    column-gap: 0.85rem;
    align-items: start !important;
    justify-content: unset !important;
    flex-direction: unset !important;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__class::before {
    grid-column: 1;
    align-self: start !important;
    padding-top: 0.15rem;
    max-width: none;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__class .attendance-history-page__classStack {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.15rem;
    width: 100%;
    min-width: 0;
    text-align: right;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__class strong,
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__class .attendance-history-page__classSub {
    width: 100%;
    text-align: right !important;
    white-space: normal !important;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__time {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    column-gap: 0.85rem;
    row-gap: 0.2rem;
    align-items: start !important;
    justify-content: unset !important;
    flex-direction: unset !important;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__time::before {
    grid-column: 1;
    grid-row: 1/span 2;
    align-self: center !important;
    max-width: none;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__time .attendance-history-page__planned,
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__time .attendance-history-page__actual {
    grid-column: 2;
    justify-self: end;
    text-align: right !important;
    width: auto;
    max-width: 100%;
    font-size: 0.8125rem;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__join {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    column-gap: 0.85rem;
    row-gap: 0.35rem;
    align-items: start !important;
    justify-content: unset !important;
    flex-direction: unset !important;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__join::before {
    grid-column: 1;
    grid-row: 1/span 2;
    align-self: center !important;
    max-width: none;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__join .attendance-history-page__joinStack {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
    width: 100%;
    text-align: right;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__status .badge,
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__status .fto-badge,
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__status .badge--green,
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__status .badge--red,
  .fto-adm-ui.attendance-history-page .attendance-history-page__table .attendance-history-page__row > [data-mobile-label].attendance-history-page__status .badge--amber {
    margin-left: auto;
    flex-shrink: 0;
  }
}
@media (max-width: 1100.98px) {
  .fto-adm-ui.attendance-history-page .attendance-history-page__directory .directory__tools {
    flex-direction: column;
    align-items: stretch;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__directory .directory__tools-end {
    width: 100%;
    margin-left: 0;
  }
  .fto-adm-ui.attendance-history-page .attendance-history-page__directory .att-history-range-wrap {
    width: 100%;
    max-width: 100%;
  }
  .fto-adm-ui.attendance-history-page .assessment-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .fto-adm-ui.attendance-history-page .assessment-info-grid {
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui.attendance-history-page .att-history-page__empty {
  margin: 1rem 0 0;
  text-align: center;
  color: #6b7c93;
  font-size: 0.875rem;
}
.fto-adm-ui.attendance-history-page .form-field__control--date input[type=date] {
  width: 100%;
  min-width: 160px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 10px 16px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  color: #1a2b42;
  background: #fff;
}

.fto-attendance-tab .badge--green {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  background: #e6f4ea;
  color: #1e7e45;
}
.fto-attendance-tab .badge--red {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  background: #fde8e8;
  color: #c62828;
}
.fto-attendance-tab .form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.fto-attendance-tab .form-field label {
  font-size: 12px;
  font-weight: 700;
  color: #6b7c93;
}
.fto-attendance-tab .form-field__control {
  position: relative;
  display: flex;
  align-items: center;
}
.fto-attendance-tab .form-field__control select {
  width: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 11px 40px 11px 16px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  color: #1a2b42;
  background: #fff;
  appearance: none;
}
.fto-attendance-tab .form-field__control--select .form-field__chevron {
  position: absolute;
  right: 16px;
  width: 16px;
  height: 16px;
  color: #6b7c93;
  pointer-events: none;
}
.fto-attendance-tab .attendance-page__stat--primary .attendance-page__stat-icon svg {
  color: #fff;
}
.fto-attendance-tab .attendance-page__stat--sky .attendance-page__stat-icon svg {
  color: #0c1f3d;
}

body.add-external-fto-page {
  background-color: #e8eef4;
}
body.add-external-fto-page .app-panel {
  background: transparent !important;
  box-shadow: none;
  overflow: visible;
}
body.add-external-fto-page .main-layout {
  padding: 0 !important;
  overflow-x: hidden;
  min-width: 0;
  background: transparent;
}
body.add-external-fto-page .fto-management {
  width: 100%;
  min-width: 0;
}

.add-external-fto-page .content.fto-adm-ui .btn,
.add-lesson-plan-page .content.fto-adm-ui .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.add-external-fto-page .content.fto-adm-ui .btn--primary,
.add-lesson-plan-page .content.fto-adm-ui .btn--primary {
  background: #F15B55;
  color: #ffffff;
  padding: 12px 28px;
}
.add-external-fto-page .content.fto-adm-ui .btn--primary:hover,
.add-lesson-plan-page .content.fto-adm-ui .btn--primary:hover {
  background: #d63a3a;
}
.add-external-fto-page .content.fto-adm-ui .btn--secondary,
.add-lesson-plan-page .content.fto-adm-ui .btn--secondary {
  background: #eaf4fb;
  color: #1F4169;
  border: 1px solid rgba(31, 65, 105, 0.08);
  padding: 12px 22px;
}
.add-external-fto-page .content.fto-adm-ui .btn--secondary:hover,
.add-lesson-plan-page .content.fto-adm-ui .btn--secondary:hover {
  background: #dcecf7;
}
.add-external-fto-page .content.fto-adm-ui .btn--lg,
.add-lesson-plan-page .content.fto-adm-ui .btn--lg {
  padding: 14px 32px;
  font-size: 14px;
}
.add-external-fto-page .content.fto-adm-ui .btn--sm,
.add-lesson-plan-page .content.fto-adm-ui .btn--sm {
  padding: 8px 16px;
  font-size: 12px;
}
.add-external-fto-page .content.fto-adm-ui .btn--edit svg,
.add-lesson-plan-page .content.fto-adm-ui .btn--edit svg {
  width: 14px;
  height: 14px;
}
.add-external-fto-page .content.fto-adm-ui .btn--back,
.add-lesson-plan-page .content.fto-adm-ui .btn--back {
  background: #fff;
  color: #1F4169;
  border: 1px solid #e2e8f0;
  padding: 10px 20px;
  margin-bottom: 0;
}
.add-external-fto-page .content.fto-adm-ui .btn--back:hover,
.add-lesson-plan-page .content.fto-adm-ui .btn--back:hover {
  border-color: #cbd5e1;
  color: #1F4169;
  opacity: 1;
}
.add-external-fto-page .content.fto-adm-ui .form-section__head,
.add-lesson-plan-page .content.fto-adm-ui .form-section__head {
  margin-bottom: 20px;
}
.add-external-fto-page .content.fto-adm-ui .form-section__head h2,
.add-lesson-plan-page .content.fto-adm-ui .form-section__head h2 {
  font-size: 20px;
  font-weight: 700;
  color: #1F4169;
  margin-bottom: 6px;
  letter-spacing: -0.02em;
}
.add-external-fto-page .content.fto-adm-ui .form-section__head p,
.add-lesson-plan-page .content.fto-adm-ui .form-section__head p {
  font-size: 13px;
  color: #7a8799;
  margin: 0;
  max-width: 640px;
  line-height: 1.5;
}
.add-external-fto-page .content.fto-adm-ui .form-row,
.add-lesson-plan-page .content.fto-adm-ui .form-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.add-external-fto-page .content.fto-adm-ui .form-row + .form-row,
.add-lesson-plan-page .content.fto-adm-ui .form-row + .form-row {
  margin-top: 20px;
}
.add-external-fto-page .content.fto-adm-ui .form-row--1,
.add-lesson-plan-page .content.fto-adm-ui .form-row--1 {
  grid-template-columns: 1fr;
}
.add-external-fto-page .content.fto-adm-ui .form-row--2,
.add-lesson-plan-page .content.fto-adm-ui .form-row--2 {
  grid-template-columns: repeat(2, 1fr);
}
.add-external-fto-page .content.fto-adm-ui .form-row--four,
.add-lesson-plan-page .content.fto-adm-ui .form-row--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.add-external-fto-page .content.fto-adm-ui .form-row--four > .form-field,
.add-lesson-plan-page .content.fto-adm-ui .form-row--four > .form-field {
  min-width: 0;
}
@media (max-width: 991.98px) {
  .add-external-fto-page .content.fto-adm-ui .form-row--four,
  .add-lesson-plan-page .content.fto-adm-ui .form-row--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .add-external-fto-page .content.fto-adm-ui .form-row--four,
  .add-lesson-plan-page .content.fto-adm-ui .form-row--four {
    grid-template-columns: 1fr;
  }
}
.add-external-fto-page .content.fto-adm-ui .form-row.add-external-fto__payment-row,
.add-lesson-plan-page .content.fto-adm-ui .form-row.add-external-fto__payment-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 991.98px) {
  .add-external-fto-page .content.fto-adm-ui .form-row.add-external-fto__payment-row,
  .add-lesson-plan-page .content.fto-adm-ui .form-row.add-external-fto__payment-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767.98px) {
  .add-external-fto-page .content.fto-adm-ui .form-row.add-external-fto__payment-row,
  .add-lesson-plan-page .content.fto-adm-ui .form-row.add-external-fto__payment-row {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 991.98px) {
  .add-external-fto-page .content.fto-adm-ui .form-row,
  .add-lesson-plan-page .content.fto-adm-ui .form-row {
    grid-template-columns: 1fr;
  }
}
.add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap {
  position: relative;
  width: 100%;
  cursor: pointer;
}
.add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input,
.add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-input,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-input {
  width: 100%;
  min-height: 52px;
  height: 52px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 14px 52px 14px 18px;
  font-size: 13px;
  font-weight: 600;
  background: #ffffff;
  color: transparent;
  -webkit-text-fill-color: transparent;
  caret-color: transparent;
}
.add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit, .add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-fields-wrapper, .add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-text, .add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-month-field, .add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-day-field, .add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-year-field, .add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-date-and-time-value,
.add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-input::-webkit-datetime-edit,
.add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-input::-webkit-datetime-edit-fields-wrapper,
.add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-input::-webkit-datetime-edit-text,
.add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-input::-webkit-datetime-edit-month-field,
.add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-input::-webkit-datetime-edit-day-field,
.add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-input::-webkit-datetime-edit-year-field,
.add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-input::-webkit-date-and-time-value,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-fields-wrapper,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-text,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-month-field,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-day-field,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-year-field,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-date-and-time-value,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-input::-webkit-datetime-edit,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-input::-webkit-datetime-edit-fields-wrapper,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-input::-webkit-datetime-edit-text,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-input::-webkit-datetime-edit-month-field,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-input::-webkit-datetime-edit-day-field,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-input::-webkit-datetime-edit-year-field,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-input::-webkit-date-and-time-value {
  color: transparent;
  -webkit-text-fill-color: transparent;
  background: transparent;
}
.add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__display,
.add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-display,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__display,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-display {
  left: 18px;
  right: 52px;
  font-size: 13px;
  font-weight: 600;
}
.add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__display.is-placeholder,
.add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-display.is-placeholder,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .notifications-date-wrap__display.is-placeholder,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap.notifications-date-wrap--formatted .add-external-fto__date-display.is-placeholder {
  color: #a0aec0;
  font-weight: 600;
}
.add-external-fto-page .content.fto-adm-ui .add-external-fto__date-wrap .add-external-fto__date-icon,
.add-lesson-plan-page .content.fto-adm-ui .add-external-fto__date-wrap .add-external-fto__date-icon {
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  font-size: 1rem;
  color: #7a8799;
  pointer-events: none;
  z-index: 2;
}
.add-external-fto-page .content.fto-adm-ui .form-field,
.add-lesson-plan-page .content.fto-adm-ui .form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media (max-width: 991.98px) {
  .add-external-fto-page .content.fto-adm-ui .form-field--spacer,
  .add-lesson-plan-page .content.fto-adm-ui .form-field--spacer {
    display: none;
  }
}
.add-external-fto-page .content.fto-adm-ui .form-field label,
.add-lesson-plan-page .content.fto-adm-ui .form-field label {
  font-size: 13px;
  font-weight: 600;
  color: #1a2b42;
}
.add-external-fto-page .content.fto-adm-ui .form-field > label:not(.add-lesson-plan-item__hw-label):not(.add-lesson-plan-item__hw-toggle),
.add-lesson-plan-page .content.fto-adm-ui .form-field > label:not(.add-lesson-plan-item__hw-label):not(.add-lesson-plan-item__hw-toggle) {
  margin-left: 18px;
}
.add-external-fto-page .content.fto-adm-ui .form-field__label-row,
.add-lesson-plan-page .content.fto-adm-ui .form-field__label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
}
.add-external-fto-page .content.fto-adm-ui .form-field__label-row label,
.add-lesson-plan-page .content.fto-adm-ui .form-field__label-row label {
  margin: 0 0 0 18px;
}
.add-external-fto-page .content.fto-adm-ui .form-field__label-row .form-field__hint,
.add-lesson-plan-page .content.fto-adm-ui .form-field__label-row .form-field__hint {
  margin: 0 18px 0 0;
  text-align: right;
}
.add-external-fto-page .content.fto-adm-ui .form-field__required,
.add-lesson-plan-page .content.fto-adm-ui .form-field__required {
  color: #e84545;
}
.add-external-fto-page .content.fto-adm-ui .form-field__optional,
.add-lesson-plan-page .content.fto-adm-ui .form-field__optional {
  font-weight: 500;
  color: #7a8799;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control {
  position: relative;
  display: flex;
  align-items: center;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control input,
.add-external-fto-page .content.fto-adm-ui .form-field__control select,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control input,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control select {
  width: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 14px 18px;
  font-family: inherit;
  font-size: 13px;
  color: #0b1f3f;
  background: #ffffff;
  outline: none;
  transition: border-color 0.15s;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control input::placeholder,
.add-external-fto-page .content.fto-adm-ui .form-field__control select::placeholder,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control input::placeholder,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control select::placeholder {
  color: #a0aec0;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control input:focus,
.add-external-fto-page .content.fto-adm-ui .form-field__control select:focus,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control input:focus,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control select:focus {
  border-color: rgba(31, 65, 105, 0.35);
}
.add-external-fto-page .content.fto-adm-ui .form-field__control input:invalid,
.add-external-fto-page .content.fto-adm-ui .form-field__control select:invalid,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control input:invalid,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control select:invalid {
  border-color: #e2e8f0;
  box-shadow: none;
}
.add-external-fto-page .content.fto-adm-ui .form-field__error {
  display: block;
  margin: 0;
  padding: 0 0 0 20px;
  font-size: 11px;
  line-height: 18px;
  font-weight: 500;
  color: #F15B55;
}
.add-external-fto-page .content.fto-adm-ui .form-field__error:empty,
.add-external-fto-page .content.fto-adm-ui .form-field__error[hidden] {
  display: none !important;
  margin: 0;
  padding: 0;
  min-height: 0;
}
.add-external-fto-page .content.fto-adm-ui .form-field__error.is-visible {
  display: block !important;
  color: #F15B55;
}
.add-external-fto-page .content.fto-adm-ui .has-error .form-field__control input,
.add-external-fto-page .content.fto-adm-ui .has-error .form-field__control select,
.add-external-fto-page .content.fto-adm-ui .form-field__control input.is-invalid,
.add-external-fto-page .content.fto-adm-ui .form-field__control select.is-invalid,
.add-external-fto-page .content.fto-adm-ui .has-error .filter-multi-select,
.add-external-fto-page .content.fto-adm-ui .filter-multi-select.is-invalid {
  border-color: #F15B55 !important;
  box-shadow: 0 0 0 1px rgba(241, 91, 85, 0.35);
}
.add-external-fto-page .content.fto-adm-ui .add-external-fto__seat-sync-errors {
  display: none;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control select,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control select {
  appearance: none;
  padding-right: 40px;
  cursor: pointer;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control--select.sc-add-chapter-form__select-wrap select,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control--select.sc-add-chapter-form__select-wrap select {
  padding-right: 52px;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control .sc-add-chapter-form__select-btn,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control .sc-add-chapter-form__select-btn {
  right: 7px;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control .sc-add-chapter-form__select-btn i,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control .sc-add-chapter-form__select-btn i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  margin: 0;
  padding: 0;
  line-height: 0;
  transform: none;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control .sc-add-chapter-form__select-btn i::before,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control .sc-add-chapter-form__select-btn i::before {
  display: block;
  line-height: 1;
  vertical-align: 0;
  transform-origin: center center;
  transform: translateY(0.1em);
  transition: transform 0.15s ease;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control .sc-add-chapter-form__select-wrap.is-open .sc-add-chapter-form__select-btn i, .add-external-fto-page .content.fto-adm-ui .form-field__control.sc-add-chapter-form__select-wrap.is-open .sc-add-chapter-form__select-btn i,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control .sc-add-chapter-form__select-wrap.is-open .sc-add-chapter-form__select-btn i,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control.sc-add-chapter-form__select-wrap.is-open .sc-add-chapter-form__select-btn i {
  transform: none;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control .sc-add-chapter-form__select-wrap.is-open .sc-add-chapter-form__select-btn i::before, .add-external-fto-page .content.fto-adm-ui .form-field__control.sc-add-chapter-form__select-wrap.is-open .sc-add-chapter-form__select-btn i::before,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control .sc-add-chapter-form__select-wrap.is-open .sc-add-chapter-form__select-btn i::before,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control.sc-add-chapter-form__select-wrap.is-open .sc-add-chapter-form__select-btn i::before {
  transform: rotate(180deg) translateY(0.1em);
}
.add-external-fto-page .content.fto-adm-ui .form-field__control--select .form-field__chevron,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control--select .form-field__chevron {
  position: absolute;
  right: 16px;
  width: 16px;
  height: 16px;
  color: #7a8799;
  pointer-events: none;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control--password input,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control--password input {
  padding-right: 48px;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control--icon input,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control--icon input {
  padding-right: 48px;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control--date input[type=date],
.add-lesson-plan-page .content.fto-adm-ui .form-field__control--date input[type=date] {
  padding-right: 18px;
  cursor: pointer;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control--date input[type=date]::-webkit-calendar-picker-indicator,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control--date input[type=date]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.65;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control--textarea, .add-external-fto-page .content.fto-adm-ui .form-field__control:has(> textarea),
.add-lesson-plan-page .content.fto-adm-ui .form-field__control--textarea,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control:has(> textarea) {
  align-items: stretch;
  width: 100%;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control--textarea textarea,
.add-external-fto-page .content.fto-adm-ui .form-field__control > textarea,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control--textarea textarea,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control > textarea {
  width: 100%;
  min-height: 100px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 14px 18px;
  font-family: inherit;
  font-size: 13px;
  color: #0b1f3f;
  background: #ffffff;
  outline: none;
  resize: vertical;
  line-height: 1.5;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control--textarea textarea:focus,
.add-external-fto-page .content.fto-adm-ui .form-field__control > textarea:focus,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control--textarea textarea:focus,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control > textarea:focus {
  border-color: rgba(31, 65, 105, 0.35);
}
.add-external-fto-page .content.fto-adm-ui .form-field__control--file,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control--file {
  cursor: pointer;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control--file input[type=file],
.add-lesson-plan-page .content.fto-adm-ui .form-field__control--file input[type=file] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control--doc,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control--doc {
  cursor: pointer;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control--doc input[type=file],
.add-lesson-plan-page .content.fto-adm-ui .form-field__control--doc input[type=file] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  z-index: 2;
}
.add-external-fto-page .content.fto-adm-ui .form-field__control--doc .form-field__file-label,
.add-lesson-plan-page .content.fto-adm-ui .form-field__control--doc .form-field__file-label {
  padding: 14px 72px 14px 18px;
}
.add-external-fto-page .content.fto-adm-ui .form-field__attach,
.add-lesson-plan-page .content.fto-adm-ui .form-field__attach {
  position: absolute;
  left: 16px;
  width: 18px;
  height: 18px;
  color: #7a8799;
  pointer-events: none;
  z-index: 1;
}
.add-external-fto-page .content.fto-adm-ui .form-field__attach--doc,
.add-lesson-plan-page .content.fto-adm-ui .form-field__attach--doc {
  left: auto;
  right: 44px;
}
.add-external-fto-page .content.fto-adm-ui .form-field__file-label,
.add-lesson-plan-page .content.fto-adm-ui .form-field__file-label {
  display: block;
  width: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 14px 18px 14px 44px;
  font-size: 13px;
  color: #a0aec0;
  background: #ffffff;
  pointer-events: none;
}
.add-external-fto-page .content.fto-adm-ui .form-field__reset,
.add-lesson-plan-page .content.fto-adm-ui .form-field__reset {
  position: absolute;
  right: 8px;
  z-index: 3;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #f15b55;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: none;
  padding: 0;
  cursor: pointer;
}
.add-external-fto-page .content.fto-adm-ui .form-field__reset svg,
.add-lesson-plan-page .content.fto-adm-ui .form-field__reset svg {
  width: 14px;
  height: 14px;
}
.add-external-fto-page .content.fto-adm-ui .form-field__reset:hover,
.add-lesson-plan-page .content.fto-adm-ui .form-field__reset:hover {
  opacity: 0.9;
}
.add-external-fto-page .content.fto-adm-ui .form-field__icon,
.add-lesson-plan-page .content.fto-adm-ui .form-field__icon {
  position: absolute;
  right: 16px;
  width: 18px;
  height: 18px;
  color: #7a8799;
  pointer-events: none;
}
.add-external-fto-page .content.fto-adm-ui .form-field__hint,
.add-lesson-plan-page .content.fto-adm-ui .form-field__hint {
  font-size: 11px;
  color: #7a8799;
}
.add-external-fto-page .content.fto-adm-ui .form-field__input--readonly,
.add-lesson-plan-page .content.fto-adm-ui .form-field__input--readonly {
  background: #f1f5f9 !important;
  color: #7a8799 !important;
  cursor: default;
}
.add-external-fto-page .content.fto-adm-ui .form-field__toggle,
.add-lesson-plan-page .content.fto-adm-ui .form-field__toggle {
  position: absolute;
  right: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #7a8799;
  padding: 4px;
  background: none;
  border: none;
  cursor: pointer;
}
.add-external-fto-page .content.fto-adm-ui .form-field__toggle svg,
.add-lesson-plan-page .content.fto-adm-ui .form-field__toggle svg {
  width: 18px;
  height: 18px;
}
.add-external-fto-page .content.fto-adm-ui .form-actions,
.add-lesson-plan-page .content.fto-adm-ui .form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
  padding-top: 8px;
}
.add-external-fto-page .content.fto-adm-ui .cert-grid,
.add-lesson-plan-page .content.fto-adm-ui .cert-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 767.98px) {
  .add-external-fto-page .content.fto-adm-ui .cert-grid,
  .add-lesson-plan-page .content.fto-adm-ui .cert-grid {
    grid-template-columns: 1fr;
  }
}
.add-external-fto-page .content.fto-adm-ui .cert-card,
.add-lesson-plan-page .content.fto-adm-ui .cert-card {
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 14px;
  padding: 20px 22px 22px;
  box-shadow: 0 2px 8px rgba(31, 65, 105, 0.04);
}
.add-external-fto-page .content.fto-adm-ui .cert-card__head,
.add-lesson-plan-page .content.fto-adm-ui .cert-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.add-external-fto-page .content.fto-adm-ui .cert-card__title,
.add-lesson-plan-page .content.fto-adm-ui .cert-card__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 700;
  color: #1F4169;
  flex-wrap: wrap;
}
.add-external-fto-page .content.fto-adm-ui .cert-card__icon,
.add-lesson-plan-page .content.fto-adm-ui .cert-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(241, 91, 85, 0.12);
  color: #f15b55;
  flex-shrink: 0;
}
.add-external-fto-page .content.fto-adm-ui .cert-card__icon svg,
.add-lesson-plan-page .content.fto-adm-ui .cert-card__icon svg {
  width: 18px;
  height: 18px;
}
.add-external-fto-page .content.fto-adm-ui .cert-card__badge,
.add-lesson-plan-page .content.fto-adm-ui .cert-card__badge {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.add-external-fto-page .content.fto-adm-ui .cert-card__badge--pending,
.add-lesson-plan-page .content.fto-adm-ui .cert-card__badge--pending {
  background: #fff4e5;
  color: #b45309;
}
.add-external-fto-page .content.fto-adm-ui .cert-card__badge--uploaded,
.add-lesson-plan-page .content.fto-adm-ui .cert-card__badge--uploaded {
  background: #e6f4ea;
  color: #1e7e45;
}
.add-external-fto-page .content.fto-adm-ui .cert-card__file,
.add-lesson-plan-page .content.fto-adm-ui .cert-card__file {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.add-external-fto-page .content.fto-adm-ui .cert-card__choose,
.add-lesson-plan-page .content.fto-adm-ui .cert-card__choose {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  background: #f15b55;
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.add-external-fto-page .content.fto-adm-ui .cert-card__choose input,
.add-lesson-plan-page .content.fto-adm-ui .cert-card__choose input {
  display: none;
}
.add-external-fto-page .content.fto-adm-ui .cert-card__choose svg,
.add-lesson-plan-page .content.fto-adm-ui .cert-card__choose svg {
  width: 14px;
  height: 14px;
}
.add-external-fto-page .content.fto-adm-ui .cert-card__filename,
.add-lesson-plan-page .content.fto-adm-ui .cert-card__filename {
  font-size: 12px;
  font-weight: 600;
  color: #0b1f3f;
  word-break: break-all;
}
.add-external-fto-page .content.fto-adm-ui .cert-card__filename--empty,
.add-lesson-plan-page .content.fto-adm-ui .cert-card__filename--empty {
  color: #7a8799;
  font-weight: 500;
}
.add-external-fto-page .content.fto-adm-ui .preview,
.add-lesson-plan-page .content.fto-adm-ui .preview {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.add-external-fto-page .content.fto-adm-ui .preview-section__head,
.add-lesson-plan-page .content.fto-adm-ui .preview-section__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.add-external-fto-page .content.fto-adm-ui .preview-section__title,
.add-lesson-plan-page .content.fto-adm-ui .preview-section__title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7a8799;
  margin: 0;
}
.add-external-fto-page .content.fto-adm-ui .preview-grid,
.add-lesson-plan-page .content.fto-adm-ui .preview-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
@media (max-width: 767.98px) {
  .add-external-fto-page .content.fto-adm-ui .preview-grid,
  .add-lesson-plan-page .content.fto-adm-ui .preview-grid {
    grid-template-columns: 1fr;
  }
}
.add-external-fto-page .content.fto-adm-ui .preview-item,
.add-lesson-plan-page .content.fto-adm-ui .preview-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  background: #ffffff;
  border: 1px solid #eef2f6;
  border-radius: 10px;
  min-height: 52px;
}
.add-external-fto-page .content.fto-adm-ui .preview-item__label,
.add-lesson-plan-page .content.fto-adm-ui .preview-item__label {
  font-size: 12px;
  font-weight: 600;
  color: #7a8799;
  flex-shrink: 0;
}
.add-external-fto-page .content.fto-adm-ui .preview-item__value,
.add-lesson-plan-page .content.fto-adm-ui .preview-item__value {
  font-size: 13px;
  font-weight: 600;
  color: #0b1f3f;
  text-align: right;
  word-break: break-word;
}
.add-external-fto-page .add-external-fto,
.add-lesson-plan-page .add-external-fto {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  width: 100%;
}
.add-external-fto-page .add-external-fto .add-student-wizard__flow,
.add-lesson-plan-page .add-external-fto .add-student-wizard__flow {
  margin-bottom: 1.25rem;
}
.add-external-fto-page .add-external-fto .add-student-wizard__meta,
.add-lesson-plan-page .add-external-fto .add-student-wizard__meta {
  margin: 0 0 0.65rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #f15b55;
}
.add-external-fto-page .add-external-fto .add-student-wizard__progress,
.add-lesson-plan-page .add-external-fto .add-student-wizard__progress {
  display: flex;
  gap: 0.35rem;
  margin-bottom: 1rem;
}
.add-external-fto-page .add-external-fto .add-student-wizard__steps,
.add-lesson-plan-page .add-external-fto .add-student-wizard__steps {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.add-external-fto-page .add-external-fto .add-student-wizard__step,
.add-lesson-plan-page .add-external-fto .add-student-wizard__step {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.55rem 0.75rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #7a8799;
  background: #f4f7fa;
  text-align: center;
}
.add-external-fto-page .add-external-fto .add-student-wizard__step-num,
.add-lesson-plan-page .add-external-fto .add-student-wizard__step-num {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.72rem;
  font-weight: 700;
  background: #e2e8ef;
  color: #7a8799;
  flex-shrink: 0;
}
.add-external-fto-page .add-external-fto .add-student-wizard__step--active,
.add-lesson-plan-page .add-external-fto .add-student-wizard__step--active {
  background: rgba(241, 91, 85, 0.08);
  color: #0b1f3f;
}
.add-external-fto-page .add-external-fto .add-student-wizard__step--active .add-student-wizard__step-num,
.add-lesson-plan-page .add-external-fto .add-student-wizard__step--active .add-student-wizard__step-num {
  background: #f15b55;
  color: #ffffff;
}
.add-external-fto-page .add-external-fto .add-student-wizard__step--done,
.add-lesson-plan-page .add-external-fto .add-student-wizard__step--done {
  color: #0b1f3f;
}
.add-external-fto-page .add-external-fto .add-student-wizard__step--done .add-student-wizard__step-num,
.add-lesson-plan-page .add-external-fto .add-student-wizard__step--done .add-student-wizard__step-num {
  background: #22c55e;
  color: #ffffff;
  font-size: 0;
}
.add-external-fto-page .add-external-fto .add-student-wizard__step--done .add-student-wizard__step-num::after,
.add-lesson-plan-page .add-external-fto .add-student-wizard__step--done .add-student-wizard__step-num::after {
  content: "";
  width: 6px;
  height: 10px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  margin-top: -2px;
}
@media (max-width: 768px) {
  .add-external-fto-page .add-external-fto .add-student-wizard__steps,
  .add-lesson-plan-page .add-external-fto .add-student-wizard__steps {
    flex-direction: column;
    align-items: stretch;
  }
}
.add-external-fto-page .add-external-fto__form,
.add-lesson-plan-page .add-external-fto__form {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.add-external-fto-page .add-external-fto__panel[hidden],
.add-lesson-plan-page .add-external-fto__panel[hidden] {
  display: none !important;
}
.add-external-fto-page .add-external-fto__panel > .form-section + .form-section,
.add-lesson-plan-page .add-external-fto__panel > .form-section + .form-section {
  margin-top: 40px;
}
.add-external-fto-page .add-external-fto__master-programs,
.add-lesson-plan-page .add-external-fto__master-programs {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 0.7fr) minmax(0, 0.75fr) auto;
  gap: 12px 16px;
  margin-bottom: 16px;
  align-items: end;
}
.add-external-fto-page .add-external-fto__master-programs > .form-field,
.add-lesson-plan-page .add-external-fto__master-programs > .form-field {
  min-width: 0;
}
@media (max-width: 1199.98px) {
  .add-external-fto-page .add-external-fto__master-programs,
  .add-lesson-plan-page .add-external-fto__master-programs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767.98px) {
  .add-external-fto-page .add-external-fto__master-programs,
  .add-lesson-plan-page .add-external-fto__master-programs {
    grid-template-columns: 1fr;
  }
}
.add-external-fto-page .add-external-fto__seat-rows,
.add-lesson-plan-page .add-external-fto__seat-rows {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 20px;
}
.add-external-fto-page .add-external-fto__seat-row,
.add-lesson-plan-page .add-external-fto__seat-row {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 0.7fr) minmax(0, 0.75fr) auto;
  gap: 12px 16px;
  align-items: end;
  position: relative;
  z-index: 1;
}
.add-external-fto-page .add-external-fto__seat-row:has(.filter-multi-select.is-open),
.add-lesson-plan-page .add-external-fto__seat-row:has(.filter-multi-select.is-open) {
  z-index: 20;
}
@media (max-width: 1199.98px) {
  .add-external-fto-page .add-external-fto__seat-row,
  .add-lesson-plan-page .add-external-fto__seat-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767.98px) {
  .add-external-fto-page .add-external-fto__seat-row,
  .add-lesson-plan-page .add-external-fto__seat-row {
    grid-template-columns: 1fr;
  }
}
.add-external-fto-page .add-external-fto__filter-wrap,
.add-lesson-plan-page .add-external-fto__filter-wrap {
  position: relative;
  width: 100%;
  min-width: 0;
}
.add-external-fto-page .add-external-fto__filter-wrap .filter-multi-select,
.add-lesson-plan-page .add-external-fto__filter-wrap .filter-multi-select {
  display: block;
  width: 100%;
}
.add-external-fto-page .add-external-fto__filter-wrap .filter-multi-select__chevron,
.add-lesson-plan-page .add-external-fto__filter-wrap .filter-multi-select__chevron {
  display: none;
}
.add-external-fto-page .add-external-fto__filter-wrap .filter-multi-select__trigger,
.add-lesson-plan-page .add-external-fto__filter-wrap .filter-multi-select__trigger {
  min-height: 52px;
  height: auto;
  padding: 14px 52px 14px 18px;
  border: 1px solid #e2e8f0;
  box-shadow: none;
  font-size: 13px;
  font-weight: 600;
  color: #a0aec0;
}
.add-external-fto-page .add-external-fto__filter-wrap .filter-multi-select__label,
.add-lesson-plan-page .add-external-fto__filter-wrap .filter-multi-select__label {
  font-size: 13px;
  font-weight: 600;
  color: inherit;
}
.add-external-fto-page .add-external-fto__filter-wrap .filter-multi-select.has-value .filter-multi-select__trigger,
.add-lesson-plan-page .add-external-fto__filter-wrap .filter-multi-select.has-value .filter-multi-select__trigger {
  color: #0b1f3f;
}
.add-external-fto-page .add-external-fto__filter-wrap .sc-add-chapter-form__select-btn,
.add-lesson-plan-page .add-external-fto__filter-wrap .sc-add-chapter-form__select-btn {
  right: 7px;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  z-index: 2;
}
.add-external-fto-page .add-external-fto__filter-wrap .sc-add-chapter-form__select-btn i,
.add-lesson-plan-page .add-external-fto__filter-wrap .sc-add-chapter-form__select-btn i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  margin: 0;
  padding: 0;
  line-height: 0;
  transform: none;
}
.add-external-fto-page .add-external-fto__filter-wrap .sc-add-chapter-form__select-btn i::before,
.add-lesson-plan-page .add-external-fto__filter-wrap .sc-add-chapter-form__select-btn i::before {
  display: block;
  line-height: 1;
  vertical-align: 0;
  transform-origin: center center;
  transform: translateY(0.1em);
  transition: transform 0.15s ease;
}
.add-external-fto-page .add-external-fto__filter-wrap .filter-multi-select.is-open ~ .sc-add-chapter-form__select-btn i,
.add-lesson-plan-page .add-external-fto__filter-wrap .filter-multi-select.is-open ~ .sc-add-chapter-form__select-btn i {
  transform: none;
}
.add-external-fto-page .add-external-fto__filter-wrap .filter-multi-select.is-open ~ .sc-add-chapter-form__select-btn i::before,
.add-lesson-plan-page .add-external-fto__filter-wrap .filter-multi-select.is-open ~ .sc-add-chapter-form__select-btn i::before {
  transform: rotate(180deg) translateY(0.1em);
}
.add-external-fto-page .add-external-fto__seat-tools,
.add-lesson-plan-page .add-external-fto__seat-tools {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 2px;
}
.add-external-fto-page .add-external-fto__seat-add, .add-external-fto-page .add-external-fto__seat-remove,
.add-lesson-plan-page .add-external-fto__seat-add,
.add-lesson-plan-page .add-external-fto__seat-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #f15b55;
  color: #ffffff;
  line-height: 1;
  cursor: pointer;
}
.add-external-fto-page .add-external-fto__seat-add:hover, .add-external-fto-page .add-external-fto__seat-remove:hover,
.add-lesson-plan-page .add-external-fto__seat-add:hover,
.add-lesson-plan-page .add-external-fto__seat-remove:hover {
  opacity: 0.9;
}
.add-external-fto-page .add-external-fto__seat-add[hidden], .add-external-fto-page .add-external-fto__seat-remove[hidden],
.add-lesson-plan-page .add-external-fto__seat-add[hidden],
.add-lesson-plan-page .add-external-fto__seat-remove[hidden] {
  display: none !important;
}
.add-external-fto-page .add-external-fto__seat-add i, .add-external-fto-page .add-external-fto__seat-remove i,
.add-lesson-plan-page .add-external-fto__seat-add i,
.add-lesson-plan-page .add-external-fto__seat-remove i {
  font-size: 1.1rem;
}
.add-external-fto-page .add-external-fto__seat-remove,
.add-lesson-plan-page .add-external-fto__seat-remove {
  background: #eaf4fb;
  color: #b42318;
  border: 1px solid rgba(31, 65, 105, 0.08);
}
.add-external-fto-page .add-external-fto__notice,
.add-lesson-plan-page .add-external-fto__notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  margin-bottom: 20px;
  border-radius: 14px;
  background: #fff8e6;
  border: 1px solid #f5d78e;
  color: #7a5b00;
  font-size: 13px;
  line-height: 1.45;
}
.add-external-fto-page .add-external-fto__notice svg,
.add-lesson-plan-page .add-external-fto__notice svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-top: 1px;
}
.add-external-fto-page .add-external-fto__subdomain,
.add-lesson-plan-page .add-external-fto__subdomain {
  flex-wrap: wrap;
  gap: 0;
}
.add-external-fto-page .add-external-fto__subdomain input,
.add-lesson-plan-page .add-external-fto__subdomain input {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  flex: 1 1 180px;
  min-width: 0;
}
.add-external-fto-page .add-external-fto__subdomain-suffix,
.add-lesson-plan-page .add-external-fto__subdomain-suffix {
  display: inline-flex;
  align-items: center;
  padding: 14px 16px;
  background: #eaf4fb;
  border: 1px solid #e2e8f0;
  border-left: none;
  border-radius: 0 999px 999px 0;
  font-size: 13px;
  font-weight: 600;
  color: #1F4169;
  white-space: nowrap;
}
.add-external-fto-page .add-external-fto__subdomain-preview,
.add-lesson-plan-page .add-external-fto__subdomain-preview {
  margin: 6px 0 0;
  font-size: 12px;
  font-weight: 600;
  color: #1F4169;
}
.add-external-fto-page .add-external-fto__summary,
.add-lesson-plan-page .add-external-fto__summary {
  margin: 4px 0 0;
  padding: 12px 16px;
  border-radius: 14px;
  background: #eaf4fb;
  border: 1px solid rgba(31, 65, 105, 0.08);
  font-size: 12px;
  font-weight: 600;
  color: #1F4169;
  line-height: 1.45;
}
.add-external-fto-page .add-external-fto__summary:empty, .add-external-fto-page .add-external-fto__summary[hidden],
.add-lesson-plan-page .add-external-fto__summary:empty,
.add-lesson-plan-page .add-external-fto__summary[hidden] {
  display: none;
}
.add-external-fto-page .add-external-fto__actions,
.add-lesson-plan-page .add-external-fto__actions {
  margin-top: 4px;
}
@media (min-width: 992px) {
  .add-external-fto-page .add-external-fto__doc-row, .add-external-fto-page .add-external-fto__portal-row,
  .add-lesson-plan-page .add-external-fto__doc-row,
  .add-lesson-plan-page .add-external-fto__portal-row {
    grid-template-columns: repeat(2, 1fr);
  }
}
.add-external-fto-page .add-external-fto__portal-row .add-external-fto__subdomain,
.add-lesson-plan-page .add-external-fto__portal-row .add-external-fto__subdomain {
  flex-wrap: nowrap;
}
.add-external-fto-page .add-external-fto__portal-row .add-external-fto__subdomain input,
.add-lesson-plan-page .add-external-fto__portal-row .add-external-fto__subdomain input {
  min-width: 0;
}
.add-external-fto-page .add-external-fto__portal-row .add-external-fto__subdomain-suffix,
.add-lesson-plan-page .add-external-fto__portal-row .add-external-fto__subdomain-suffix {
  font-size: 12px;
  padding: 14px 12px;
}
.add-external-fto-page .add-external-fto__portal-row .add-external-fto__subdomain-preview,
.add-lesson-plan-page .add-external-fto__portal-row .add-external-fto__subdomain-preview {
  margin-top: 4px;
}
.add-external-fto-page .add-lesson-plan,
.add-lesson-plan-page .add-lesson-plan {
  width: 100%;
}
.add-external-fto-page .add-lesson-plan__form,
.add-lesson-plan-page .add-lesson-plan__form {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.add-external-fto-page .add-lesson-plan .sc-add-chapter-form__select-wrap,
.add-lesson-plan-page .add-lesson-plan .sc-add-chapter-form__select-wrap {
  position: relative;
  width: 100%;
}
.add-external-fto-page .add-lesson-plan .sc-add-chapter-form__select-wrap .form-select.sc-add-chapter-form__control,
.add-lesson-plan-page .add-lesson-plan .sc-add-chapter-form__select-wrap .form-select.sc-add-chapter-form__control {
  width: 100%;
  appearance: none;
  cursor: pointer;
  padding: 14px 18px;
  padding-right: 52px;
  font-size: 13px;
}
.add-external-fto-page .add-lesson-plan-items,
.add-lesson-plan-page .add-lesson-plan-items {
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: visible;
}
.add-external-fto-page .add-lesson-plan-item,
.add-lesson-plan-page .add-lesson-plan-item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 12px 14px;
  align-items: end;
  padding: 14px 16px;
  border: 1px solid #eef2f6;
  border-radius: 14px;
  background: #f8fafc;
  overflow: visible;
}
.add-external-fto-page .add-lesson-plan-item__serial,
.add-lesson-plan-page .add-lesson-plan-item__serial {
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(31, 65, 105, 0.06);
  color: #1F4169;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  text-align: center;
  line-height: 1.2;
}
.add-external-fto-page .add-lesson-plan-item__fields,
.add-lesson-plan-page .add-lesson-plan-item__fields {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.add-external-fto-page .add-lesson-plan-item__fields--class,
.add-lesson-plan-page .add-lesson-plan-item__fields--class {
  grid-template-columns: minmax(0, 1.4fr) minmax(140px, 0.7fr) minmax(0, 1fr);
}
.add-external-fto-page .add-lesson-plan-item__fields--exam,
.add-lesson-plan-page .add-lesson-plan-item__fields--exam {
  grid-template-columns: minmax(0, 1.4fr) minmax(140px, 0.7fr) minmax(0, 1fr);
}
.add-external-fto-page .add-lesson-plan-item__fields--doubt,
.add-lesson-plan-page .add-lesson-plan-item__fields--doubt {
  grid-template-columns: minmax(0, 1.5fr) minmax(140px, 0.7fr);
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__attachment,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__attachment {
  grid-column: 1/-1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-field,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-label,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-label {
  font-size: 12px;
  font-weight: 600;
  color: #1F4169;
  margin: 0;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-row,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex-wrap: nowrap;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-row .add-lesson-plan-item__hw-toggle--compact,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-row .add-lesson-plan-item__hw-toggle--compact {
  flex-shrink: 0;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-row .add-lesson-plan-item__hw-add-btn,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-row .add-lesson-plan-item__hw-add-btn {
  flex: 1;
  min-width: 0;
  min-height: 46px;
  padding: 14px 18px;
  font-size: 13px;
  white-space: nowrap;
  border: 1px solid rgba(31, 65, 105, 0.08);
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-row .add-lesson-plan-item__hw-add-btn:disabled,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-row .add-lesson-plan-item__hw-add-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-row .add-lesson-plan-item__badge--hw,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-row .add-lesson-plan-item__badge--hw {
  flex: 1;
  width: auto;
  min-width: 0;
  min-height: 46px;
  box-sizing: border-box;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-row .add-lesson-plan-item__badge[hidden],
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-row .add-lesson-plan-item__badge[hidden] {
  display: none !important;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-toggle,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: #1F4169;
  cursor: pointer;
  user-select: none;
  flex-shrink: 0;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-toggle input,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-toggle--compact,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-toggle--compact {
  margin: 0;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-check,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border: 1.5px solid #cbd5e1;
  border-radius: 4px;
  background: #ffffff;
  flex-shrink: 0;
  position: relative;
  box-sizing: border-box;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-toggle--compact .add-lesson-plan-item__hw-check,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-toggle--compact .add-lesson-plan-item__hw-check {
  width: 16px;
  height: 16px;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-toggle input:checked + .add-lesson-plan-item__hw-check,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-toggle input:checked + .add-lesson-plan-item__hw-check {
  background: #1F4169;
  border-color: #1F4169;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-toggle input:checked + .add-lesson-plan-item__hw-check::after,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-toggle input:checked + .add-lesson-plan-item__hw-check::after {
  content: "";
  display: block;
  width: 4px;
  height: 8px;
  margin-top: -1px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-toggle--compact input:checked + .add-lesson-plan-item__hw-check::after,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__hw-toggle--compact input:checked + .add-lesson-plan-item__hw-check::after {
  width: 3.5px;
  height: 7px;
  margin-top: -1px;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__badge,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__badge {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(31, 65, 105, 0.06);
  color: #1F4169;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  min-width: 0;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__badge-label,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__badge-label {
  color: #7a8799;
  font-weight: 600;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__badge-text,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__badge-text {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__badge-actions,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__badge-actions {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 2px;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__badge-btn,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__badge-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
  color: #1F4169;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__badge-btn:hover,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__badge-btn:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
}
.add-external-fto-page .add-lesson-plan-item__fields .add-lesson-plan-item__badge-btn--danger,
.add-lesson-plan-page .add-lesson-plan-item__fields .add-lesson-plan-item__badge-btn--danger {
  color: #b42318;
}
.add-external-fto-page .add-lesson-plan-item__fields .form-field,
.add-lesson-plan-page .add-lesson-plan-item__fields .form-field {
  margin: 0;
}
.add-external-fto-page .add-lesson-plan-item__fields .form-field label,
.add-lesson-plan-page .add-lesson-plan-item__fields .form-field label {
  font-size: 12px;
}
.add-external-fto-page .add-lesson-plan-item__tools,
.add-lesson-plan-page .add-lesson-plan-item__tools {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: end;
  padding-bottom: 2px;
  position: relative;
  z-index: 2;
}
.add-external-fto-page .add-lesson-plan-item__tools .dropdown,
.add-lesson-plan-page .add-lesson-plan-item__tools .dropdown {
  position: relative;
}
.add-external-fto-page .add-lesson-plan-item__tools .dropdown-menu,
.add-lesson-plan-page .add-lesson-plan-item__tools .dropdown-menu {
  min-width: 150px;
  padding: 6px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
  z-index: 1050;
}
.add-external-fto-page .add-lesson-plan-item__tools .dropdown-item,
.add-lesson-plan-page .add-lesson-plan-item__tools .dropdown-item {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 7px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  font-size: 13px;
  font-weight: 600;
  color: #1a2b42;
  text-align: left;
  line-height: 1.3;
}
.add-external-fto-page .add-lesson-plan-item__tools .dropdown-item:hover, .add-external-fto-page .add-lesson-plan-item__tools .dropdown-item:focus,
.add-lesson-plan-page .add-lesson-plan-item__tools .dropdown-item:hover,
.add-lesson-plan-page .add-lesson-plan-item__tools .dropdown-item:focus {
  background: #f1f5f9;
  color: #1F4169;
}
.add-external-fto-page .add-lesson-plan-item__tools .dropdown-item:active,
.add-lesson-plan-page .add-lesson-plan-item__tools .dropdown-item:active {
  background: rgba(31, 65, 105, 0.08);
  color: #1F4169;
}
.add-external-fto-page .add-lesson-plan-item__add, .add-external-fto-page .add-lesson-plan-item__remove,
.add-lesson-plan-page .add-lesson-plan-item__add,
.add-lesson-plan-page .add-lesson-plan-item__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #ffffff;
  color: #1F4169;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.add-external-fto-page .add-lesson-plan-item__add:hover:not(:disabled), .add-external-fto-page .add-lesson-plan-item__remove:hover:not(:disabled),
.add-lesson-plan-page .add-lesson-plan-item__add:hover:not(:disabled),
.add-lesson-plan-page .add-lesson-plan-item__remove:hover:not(:disabled) {
  background: #f1f5f9;
  border-color: #cbd5e1;
}
.add-external-fto-page .add-lesson-plan-item__add:disabled, .add-external-fto-page .add-lesson-plan-item__remove:disabled,
.add-lesson-plan-page .add-lesson-plan-item__add:disabled,
.add-lesson-plan-page .add-lesson-plan-item__remove:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.add-external-fto-page .add-lesson-plan-item__remove,
.add-lesson-plan-page .add-lesson-plan-item__remove {
  color: #b42318;
}
@media (max-width: 991.98px) {
  .add-external-fto-page .add-lesson-plan-item,
  .add-lesson-plan-page .add-lesson-plan-item {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .add-external-fto-page .add-lesson-plan-item__serial,
  .add-lesson-plan-page .add-lesson-plan-item__serial {
    justify-self: start;
    min-height: 0;
    padding: 6px 10px;
  }
  .add-external-fto-page .add-lesson-plan-item__fields--class, .add-external-fto-page .add-lesson-plan-item__fields--exam, .add-external-fto-page .add-lesson-plan-item__fields--doubt,
  .add-lesson-plan-page .add-lesson-plan-item__fields--class,
  .add-lesson-plan-page .add-lesson-plan-item__fields--exam,
  .add-lesson-plan-page .add-lesson-plan-item__fields--doubt {
    grid-template-columns: 1fr;
  }
  .add-external-fto-page .add-lesson-plan-item__tools,
  .add-lesson-plan-page .add-lesson-plan-item__tools {
    justify-content: flex-end;
  }
}
.add-external-fto-page .lp-modal-wizard,
.add-lesson-plan-page .lp-modal-wizard {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.add-external-fto-page .lp-modal-wizard__progress,
.add-lesson-plan-page .lp-modal-wizard__progress {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 6px;
}
.add-external-fto-page .lp-modal-wizard__seg,
.add-lesson-plan-page .lp-modal-wizard__seg {
  height: 4px;
  border-radius: 999px;
  background: #e2e8f0;
}
.add-external-fto-page .lp-modal-wizard__seg--active, .add-external-fto-page .lp-modal-wizard__seg--done,
.add-lesson-plan-page .lp-modal-wizard__seg--active,
.add-lesson-plan-page .lp-modal-wizard__seg--done {
  background: #f15b55;
}
.add-external-fto-page .lp-modal-wizard__steps,
.add-lesson-plan-page .lp-modal-wizard__steps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.add-external-fto-page .lp-modal-wizard__step,
.add-lesson-plan-page .lp-modal-wizard__step {
  padding: 6px 10px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #7a8799;
  font-size: 11px;
  font-weight: 600;
}
.add-external-fto-page .lp-modal-wizard__step--active,
.add-lesson-plan-page .lp-modal-wizard__step--active {
  background: rgba(31, 65, 105, 0.1);
  color: #1F4169;
}
.add-external-fto-page .lp-modal-wizard__step--done,
.add-lesson-plan-page .lp-modal-wizard__step--done {
  background: rgba(31, 65, 105, 0.06);
  color: #1F4169;
}
.add-external-fto-page .lp-modal-wizard__panel-title,
.add-lesson-plan-page .lp-modal-wizard__panel-title {
  margin: 0 0 14px;
  font-size: 16px;
  font-weight: 700;
  color: #1F4169;
}
.add-external-fto-page .lp-modal-wizard .form-row,
.add-lesson-plan-page .lp-modal-wizard .form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 20px;
}
.add-external-fto-page .lp-modal-wizard .form-row--2,
.add-lesson-plan-page .lp-modal-wizard .form-row--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 767.98px) {
  .add-external-fto-page .lp-modal-wizard .form-row,
  .add-lesson-plan-page .lp-modal-wizard .form-row {
    grid-template-columns: 1fr;
  }
}
.add-external-fto-page .lp-modal-wizard .form-field,
.add-lesson-plan-page .lp-modal-wizard .form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.add-external-fto-page .lp-modal-wizard .sc-add-chapter-form__select-wrap,
.add-lesson-plan-page .lp-modal-wizard .sc-add-chapter-form__select-wrap {
  position: relative;
  width: 100%;
}
.add-external-fto-page .lp-modal-wizard .sc-add-chapter-form__select-wrap .form-select.sc-add-chapter-form__control,
.add-lesson-plan-page .lp-modal-wizard .sc-add-chapter-form__select-wrap .form-select.sc-add-chapter-form__control {
  width: 100%;
  appearance: none;
  cursor: pointer;
}
.add-external-fto-page .lp-exam-modal .sc-add-chapter-form__select-wrap--multi .filter-multi-select,
.add-lesson-plan-page .lp-exam-modal .sc-add-chapter-form__select-wrap--multi .filter-multi-select {
  display: block;
  width: 100%;
}
.add-external-fto-page .lp-exam-modal .sc-add-chapter-form__select-wrap--multi .filter-multi-select__chevron,
.add-lesson-plan-page .lp-exam-modal .sc-add-chapter-form__select-wrap--multi .filter-multi-select__chevron {
  display: none;
}
.add-external-fto-page .lp-exam-modal .sc-add-chapter-form__select-wrap--multi .filter-multi-select__trigger,
.add-lesson-plan-page .lp-exam-modal .sc-add-chapter-form__select-wrap--multi .filter-multi-select__trigger {
  width: 100%;
  min-height: 55px;
  height: auto;
  padding: 0 3.75rem 0 1.25rem;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  box-shadow: none;
  font-size: 0.9375rem;
  font-weight: 400;
  color: #a0aec0;
  background: #fff;
  text-align: left;
}
.add-external-fto-page .lp-exam-modal .sc-add-chapter-form__select-wrap--multi .filter-multi-select__label,
.add-lesson-plan-page .lp-exam-modal .sc-add-chapter-form__select-wrap--multi .filter-multi-select__label {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}
.add-external-fto-page .lp-exam-modal .sc-add-chapter-form__select-wrap--multi .filter-multi-select.has-value .filter-multi-select__trigger,
.add-lesson-plan-page .lp-exam-modal .sc-add-chapter-form__select-wrap--multi .filter-multi-select.has-value .filter-multi-select__trigger {
  color: #1f4169;
}
.add-external-fto-page .lp-exam-modal .sc-add-chapter-form__select-wrap--multi .sc-add-chapter-form__select-btn,
.add-lesson-plan-page .lp-exam-modal .sc-add-chapter-form__select-wrap--multi .sc-add-chapter-form__select-btn {
  pointer-events: none;
}
.add-external-fto-page .lp-exam-modal [data-lp-exam-chapter-placeholder] .sc-add-chapter-form__select-btn,
.add-lesson-plan-page .lp-exam-modal [data-lp-exam-chapter-placeholder] .sc-add-chapter-form__select-btn {
  pointer-events: none;
  opacity: 0.55;
}
.add-external-fto-page .lp-hw-modal .lp-modal-dialog,
.add-external-fto-page .lp-exam-modal .lp-modal-dialog,
.add-lesson-plan-page .lp-hw-modal .lp-modal-dialog,
.add-lesson-plan-page .lp-exam-modal .lp-modal-dialog {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 2rem);
  overflow: visible;
}
.add-external-fto-page .lp-hw-modal .sc-app-modal__content,
.add-lesson-plan-page .lp-hw-modal .sc-app-modal__content {
  max-height: none;
  overflow: visible;
}
.add-external-fto-page .lp-hw-modal .sc-app-modal__body,
.add-lesson-plan-page .lp-hw-modal .sc-app-modal__body {
  max-height: none;
  overflow: visible;
}
.add-external-fto-page .lp-exam-step2-summary,
.add-lesson-plan-page .lp-exam-step2-summary {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.add-external-fto-page .lp-exam-manual-tools,
.add-lesson-plan-page .lp-exam-manual-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.add-external-fto-page .lp-exam-select-all,
.add-lesson-plan-page .lp-exam-select-all {
  padding: 0;
  border: none;
  background: transparent;
  font-weight: 500;
  color: #1F4169;
}
.add-external-fto-page .lp-exam-select-all-label,
.add-lesson-plan-page .lp-exam-select-all-label {
  font-size: 0.875rem;
  font-weight: 500;
}
.add-external-fto-page .lp-exam-selected-count,
.add-lesson-plan-page .lp-exam-selected-count {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  color: #3b82c4;
}
.add-external-fto-page .lp-exam-pool-hint,
.add-lesson-plan-page .lp-exam-pool-hint {
  margin: 0.35rem 0 0;
  padding-left: 25px;
  font-size: 0.8125rem;
  color: #7a8799;
}
.add-external-fto-page .lp-exam-modal,
.add-external-fto-page .lp-exam-replace-modal,
.add-lesson-plan-page .lp-exam-modal,
.add-lesson-plan-page .lp-exam-replace-modal {
  overflow: visible;
}
.add-external-fto-page .lp-exam-modal .sc-app-modal__close,
.add-external-fto-page .lp-exam-replace-modal .sc-app-modal__close,
.add-lesson-plan-page .lp-exam-modal .sc-app-modal__close,
.add-lesson-plan-page .lp-exam-replace-modal .sc-app-modal__close {
  top: 12px !important;
  right: 12px !important;
  z-index: 1060 !important;
}
.add-external-fto-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-content,
.add-external-fto-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .sc-app-modal__content,
.add-external-fto-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-content.sc-app-modal__content,
.add-external-fto-page .lp-exam-replace-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-content,
.add-external-fto-page .lp-exam-replace-modal .modal-dialog:not(.modal-dialog-scrollable) .sc-app-modal__content,
.add-external-fto-page .lp-exam-replace-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-content.sc-app-modal__content,
.add-lesson-plan-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-content,
.add-lesson-plan-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .sc-app-modal__content,
.add-lesson-plan-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-content.sc-app-modal__content,
.add-lesson-plan-page .lp-exam-replace-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-content,
.add-lesson-plan-page .lp-exam-replace-modal .modal-dialog:not(.modal-dialog-scrollable) .sc-app-modal__content,
.add-lesson-plan-page .lp-exam-replace-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-content.sc-app-modal__content {
  overflow: visible;
}
.add-external-fto-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-content,
.add-external-fto-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .sc-app-modal__content,
.add-external-fto-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-content.sc-app-modal__content,
.add-lesson-plan-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-content,
.add-lesson-plan-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .sc-app-modal__content,
.add-lesson-plan-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-content.sc-app-modal__content {
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 3rem);
}
.add-external-fto-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-header,
.add-external-fto-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .sc-app-modal__header,
.add-lesson-plan-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-header,
.add-lesson-plan-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .sc-app-modal__header {
  flex-shrink: 0;
}
.add-external-fto-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-body,
.add-external-fto-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .sc-app-modal__body,
.add-external-fto-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-body.sc-app-modal__body,
.add-lesson-plan-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-body,
.add-lesson-plan-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .sc-app-modal__body,
.add-lesson-plan-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-body.sc-app-modal__body {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  padding-bottom: 8px;
}
.add-external-fto-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-footer,
.add-external-fto-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .sc-app-modal__footer,
.add-external-fto-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-footer.sc-app-modal__footer,
.add-lesson-plan-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-footer,
.add-lesson-plan-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .sc-app-modal__footer,
.add-lesson-plan-page .lp-exam-modal .modal-dialog:not(.modal-dialog-scrollable) .modal-footer.sc-app-modal__footer {
  flex-shrink: 0;
  position: relative;
  z-index: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 0;
  padding-top: 12px;
  background: #fff;
  border-top: 1px solid #eef2f6;
}
.add-external-fto-page .lp-hw-modal .role-wizard__perm-item,
.add-lesson-plan-page .lp-hw-modal .role-wizard__perm-item {
  margin-bottom: 8px;
  padding: 10px 12px;
}
.add-external-fto-page .lp-hw-modal .sc-app-modal__subtitle,
.add-external-fto-page .lp-exam-modal .sc-app-modal__subtitle,
.add-lesson-plan-page .lp-hw-modal .sc-app-modal__subtitle,
.add-lesson-plan-page .lp-exam-modal .sc-app-modal__subtitle {
  max-width: none;
  width: 100%;
}
.add-external-fto-page .lp-hw-modal .sc-app-modal__footer,
.add-lesson-plan-page .lp-hw-modal .sc-app-modal__footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 8px;
}
.add-external-fto-page .lp-modal-wizard .assessment-type-grid,
.add-lesson-plan-page .lp-modal-wizard .assessment-type-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}
.add-external-fto-page .lp-modal-wizard .assessment-type-card,
.add-lesson-plan-page .lp-modal-wizard .assessment-type-card {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.85rem 1rem;
  border-radius: 14px;
  background: #eef2f6;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 600;
  color: #1a2b42;
  margin: 0;
}
.add-external-fto-page .lp-modal-wizard .assessment-type-card input,
.add-lesson-plan-page .lp-modal-wizard .assessment-type-card input {
  accent-color: #F15B55;
  margin: 0;
}
.add-external-fto-page .lp-modal-wizard .assessment-type-card:has(input:checked),
.add-lesson-plan-page .lp-modal-wizard .assessment-type-card:has(input:checked) {
  background: rgba(230, 57, 70, 0.08);
  box-shadow: inset 0 0 0 1px rgba(230, 57, 70, 0.2);
}
.add-external-fto-page .lp-modal-wizard .role-wizard__perm-item,
.add-lesson-plan-page .lp-modal-wizard .role-wizard__perm-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F4169;
}
.add-external-fto-page .lp-modal-wizard .role-wizard__perm-item input,
.add-lesson-plan-page .lp-modal-wizard .role-wizard__perm-item input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.add-external-fto-page .lp-modal-wizard .role-wizard__perm-item .roles-check__box,
.add-lesson-plan-page .lp-modal-wizard .role-wizard__perm-item .roles-check__box {
  width: 18px;
  height: 18px;
  border: 1.5px solid #cbd5e1;
  border-radius: 4px;
  background: #fff;
  flex-shrink: 0;
  position: relative;
}
.add-external-fto-page .lp-modal-wizard .role-wizard__perm-item input:checked + .roles-check__box,
.add-lesson-plan-page .lp-modal-wizard .role-wizard__perm-item input:checked + .roles-check__box {
  background: #1F4169;
  border-color: #1F4169;
}
.add-external-fto-page .lp-modal-wizard .role-wizard__perm-item input:checked + .roles-check__box::after,
.add-lesson-plan-page .lp-modal-wizard .role-wizard__perm-item input:checked + .roles-check__box::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.add-external-fto-page .lp-modal-context,
.add-lesson-plan-page .lp-modal-context {
  margin: 0;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(31, 65, 105, 0.06);
  color: #1F4169;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}
.add-external-fto-page .lp-modal-context__label,
.add-lesson-plan-page .lp-modal-context__label {
  color: #7a8799;
  font-weight: 600;
}
.add-external-fto-page .lp-modal-wizard .assessment-q-tools,
.add-lesson-plan-page .lp-modal-wizard .assessment-q-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.add-external-fto-page .lp-modal-wizard .assessment-q-tools .btn,
.add-external-fto-page .lp-modal-wizard .assessment-question-list .btn,
.add-lesson-plan-page .lp-modal-wizard .assessment-q-tools .btn,
.add-lesson-plan-page .lp-modal-wizard .assessment-question-list .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid rgba(31, 65, 105, 0.08);
  border-radius: 999px;
  background: #eaf4fb;
  color: #1F4169;
  font-size: 12px;
  font-weight: 600;
  padding: 8px 16px;
  cursor: pointer;
  width: auto;
  min-height: 0;
  box-shadow: none;
}
.add-external-fto-page .lp-modal-wizard .assessment-q-tools .btn--outline,
.add-external-fto-page .lp-modal-wizard .assessment-question-list .btn--outline,
.add-lesson-plan-page .lp-modal-wizard .assessment-q-tools .btn--outline,
.add-lesson-plan-page .lp-modal-wizard .assessment-question-list .btn--outline {
  background: #fff;
  border-color: #e2e8f0;
}
.add-external-fto-page .lp-modal-wizard .assessment-q-tools .btn--sm,
.add-external-fto-page .lp-modal-wizard .assessment-question-list .btn--sm,
.add-lesson-plan-page .lp-modal-wizard .assessment-q-tools .btn--sm,
.add-lesson-plan-page .lp-modal-wizard .assessment-question-list .btn--sm {
  padding: 6px 12px;
  font-size: 11px;
}
.add-external-fto-page .lp-exam-modal .lp-modal-wizard .assessment-q-tools .btn.btn--secondary[data-lp-exam-mode].is-active,
.add-external-fto-page .lp-exam-modal .lp-modal-wizard .assessment-q-tools .btn.btn--secondary[data-lp-exam-mode][aria-pressed=true],
.add-lesson-plan-page .lp-exam-modal .lp-modal-wizard .assessment-q-tools .btn.btn--secondary[data-lp-exam-mode].is-active,
.add-lesson-plan-page .lp-exam-modal .lp-modal-wizard .assessment-q-tools .btn.btn--secondary[data-lp-exam-mode][aria-pressed=true] {
  background: #1F4169;
  border-color: #1F4169;
  color: #fff;
}
.add-external-fto-page .lp-exam-modal .lp-modal-wizard .assessment-q-tools .btn.btn--secondary[data-lp-exam-mode].is-active:hover, .add-external-fto-page .lp-exam-modal .lp-modal-wizard .assessment-q-tools .btn.btn--secondary[data-lp-exam-mode].is-active:focus-visible,
.add-external-fto-page .lp-exam-modal .lp-modal-wizard .assessment-q-tools .btn.btn--secondary[data-lp-exam-mode][aria-pressed=true]:hover,
.add-external-fto-page .lp-exam-modal .lp-modal-wizard .assessment-q-tools .btn.btn--secondary[data-lp-exam-mode][aria-pressed=true]:focus-visible,
.add-lesson-plan-page .lp-exam-modal .lp-modal-wizard .assessment-q-tools .btn.btn--secondary[data-lp-exam-mode].is-active:hover,
.add-lesson-plan-page .lp-exam-modal .lp-modal-wizard .assessment-q-tools .btn.btn--secondary[data-lp-exam-mode].is-active:focus-visible,
.add-lesson-plan-page .lp-exam-modal .lp-modal-wizard .assessment-q-tools .btn.btn--secondary[data-lp-exam-mode][aria-pressed=true]:hover,
.add-lesson-plan-page .lp-exam-modal .lp-modal-wizard .assessment-q-tools .btn.btn--secondary[data-lp-exam-mode][aria-pressed=true]:focus-visible {
  background: rgb(10.3333333333%, 21.6666666667%, 35%);
  border-color: rgb(10.3333333333%, 21.6666666667%, 35%);
  color: #fff;
}
.add-external-fto-page .lp-modal-wizard .assessment-question-list,
.add-lesson-plan-page .lp-modal-wizard .assessment-question-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-bottom: 4px;
}
.add-external-fto-page .lp-modal-wizard .assessment-question-list article,
.add-lesson-plan-page .lp-modal-wizard .assessment-question-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  font-size: 0.875rem;
  color: #1F4169;
  margin: 0;
}
.add-external-fto-page .lp-modal-wizard .assessment-question-list article .lp-exam-q-text,
.add-lesson-plan-page .lp-modal-wizard .assessment-question-list article .lp-exam-q-text {
  flex: 1;
  min-width: 0;
  text-align: left;
  line-height: 1.4;
}
.add-external-fto-page .lp-modal-wizard .assessment-question-list article .btn,
.add-lesson-plan-page .lp-modal-wizard .assessment-question-list article .btn {
  flex-shrink: 0;
}
.add-external-fto-page .lp-modal-wizard .assessment-preview-paper,
.add-lesson-plan-page .lp-modal-wizard .assessment-preview-paper {
  padding: 16px 18px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #eef2f6;
}
.add-external-fto-page .lp-modal-wizard .assessment-preview-paper h3,
.add-lesson-plan-page .lp-modal-wizard .assessment-preview-paper h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  font-weight: 700;
  color: #1F4169;
}
.add-external-fto-page .lp-modal-wizard .assessment-preview-paper p,
.add-lesson-plan-page .lp-modal-wizard .assessment-preview-paper p {
  margin: 0;
  font-size: 0.8125rem;
  color: #7a8799;
}
.add-external-fto-page .form-actions .btn svg,
.add-external-fto-page .form-actions .btn .bi,
.add-lesson-plan-page .form-actions .btn svg,
.add-lesson-plan-page .form-actions .btn .bi {
  font-size: 1rem;
}

/* ——— Question Bank: Fix & Re-upload Row modal ——— */
.qb-fix-row-modal__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}
.qb-fix-row-modal__meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  background: rgba(31, 65, 105, 0.06);
  color: #1f4169;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
}
.qb-fix-row-modal__meta-pill .bi {
  font-size: 0.95rem;
}
.qb-fix-row-modal__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.25rem;
}

.qb-fix-row-field {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
}
.qb-fix-row-field__label {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.qb-fix-row-field__flag {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  background: rgba(229, 83, 75, 0.12);
  color: #e5534b;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

@media (max-width: 575.98px) {
  .qb-fix-row-modal__fields {
    grid-template-columns: 1fr;
  }
}
.bulk-coupon-detail-page[data-page="general-coupon-usage.html"] .bulk-coupon-detail .content {
  padding: 16px 18px 18px;
}
@media (max-width: 767.98px) {
  .bulk-coupon-detail-page[data-page="general-coupon-usage.html"] .bulk-coupon-detail .content {
    padding: 14px 14px 18px;
  }
}

.general-coupon-detail__header .sc-add-topic__title {
  font-size: 1.35rem;
}
.general-coupon-detail__header .sc-add-topic__subtitle {
  font-size: 0.8125rem;
  margin-top: 0.15rem;
}
.general-coupon-detail__profile.batch-detail-profile {
  padding: 0.85rem 1rem 0.95rem;
}
.general-coupon-detail__profile .batch-detail-profile__head {
  gap: 0.65rem;
  padding-bottom: 0.65rem;
  margin-bottom: 0.65rem;
}
.general-coupon-detail__profile .batch-detail-profile__icon {
  width: 42px;
  height: 42px;
}
.general-coupon-detail__profile .batch-detail-profile__icon svg {
  width: 20px;
  height: 20px;
}
.general-coupon-detail__profile .batch-detail-profile__name {
  font-size: 1rem;
}
.general-coupon-detail__profile .batch-detail-profile__code {
  font-size: 0.72rem;
  margin-top: 0.05rem;
}
.general-coupon-detail__profile .resources-switch {
  flex-shrink: 0;
}
.general-coupon-detail__profile .batch-detail-profile__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
  margin-bottom: 0.55rem;
}
@media (max-width: 991.98px) {
  .general-coupon-detail__profile .batch-detail-profile__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .general-coupon-detail__profile .batch-detail-profile__grid {
    grid-template-columns: 1fr;
  }
}
.general-coupon-detail__profile .batch-detail-profile__field {
  flex-direction: row;
  gap: 0.65rem;
  padding: 0.45rem 0.65rem;
  min-height: 0;
  border-radius: 10px;
  align-items: flex-start;
  min-width: 0;
}
.general-coupon-detail__profile .batch-detail-profile__field-text {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
}
.general-coupon-detail__profile .batch-detail-profile__field-icon {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
}
.general-coupon-detail__profile .batch-detail-profile__field-icon svg {
  width: 13px;
  height: 13px;
}
.general-coupon-detail__profile .batch-detail-profile__field-label {
  font-size: 0.65rem;
  margin-bottom: 0.05rem;
  line-height: 1.2;
}
.general-coupon-detail__profile .batch-detail-profile__field-value {
  font-size: 0.8rem;
  line-height: 1.25;
}
.general-coupon-detail__profile .batch-detail-profile__field-value--ellipsis {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: default;
}
.general-coupon-detail__desc {
  padding: 0.5rem 0.7rem;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 10px;
}
.general-coupon-detail__desc-label {
  display: block;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
  margin-bottom: 0.1rem;
}
.general-coupon-detail__desc-text {
  font-size: 0.8125rem;
  color: #1f2a44;
  line-height: 1.35;
}
.general-coupon-detail__log.directory {
  padding-top: 0.35rem;
}
.general-coupon-detail__log .directory__header {
  margin-bottom: 0.65rem;
  padding-bottom: 0;
}
.general-coupon-detail__log .directory__header h2 {
  font-size: 1.05rem;
  margin-bottom: 0.1rem;
}
.general-coupon-detail__log .directory__header p {
  font-size: 0.78rem;
  margin-bottom: 0;
}
.general-coupon-detail__log .directory__header .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}
@media (max-width: 575.98px) {
  .general-coupon-detail__actions, .general-coupon-detail__actions .btn-export {
    width: 100%;
  }
  .general-coupon-detail__log .directory__header .directory__search {
    max-width: none;
  }
}

@media (min-width: 992px) {
  .fto-adm-ui .general-coupon-usage-table .table-head,
  .fto-adm-ui .general-coupon-usage-table .fto-directory-row.general-coupon-usage-row {
    grid-template-columns: 64px minmax(160px, 1.6fr) minmax(170px, 1.2fr) minmax(140px, 1fr);
    min-width: 0;
  }
  .fto-adm-ui .general-coupon-usage-table .table-head > span:nth-child(1),
  .fto-adm-ui .general-coupon-usage-table .fto-directory-row.general-coupon-usage-row > :nth-child(1) {
    justify-self: start;
    text-align: left;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .general-coupon-usage-table .table-head,
  .fto-adm-ui .general-coupon-usage-table .fto-directory-row.general-coupon-usage-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .general-coupon-usage-table .general-coupon-usage-row__user {
  font-weight: 600;
}
.fto-adm-ui .general-coupon-usage-table .fto-directory-empty {
  padding: 1.25rem 0.5rem;
  color: #6b7c93;
  font-size: 0.875rem;
}

.bulk-coupon-detail-page[data-page="bulk-coupon-details.html"] .bulk-coupon-detail .content {
  padding: 16px 18px 18px;
}
@media (max-width: 767.98px) {
  .bulk-coupon-detail-page[data-page="bulk-coupon-details.html"] .bulk-coupon-detail .content {
    padding: 14px 14px 18px;
  }
}

.single-use-coupon-detail__header .sc-add-topic__title {
  font-size: 1.35rem;
}
.single-use-coupon-detail__header .sc-add-topic__subtitle {
  font-size: 0.8125rem;
  margin-top: 0.15rem;
}
.single-use-coupon-detail__profile.batch-detail-profile {
  padding: 0.85rem 1rem 0.95rem;
}
.single-use-coupon-detail__profile .batch-detail-profile__head {
  gap: 0.65rem;
  padding-bottom: 0.65rem;
  margin-bottom: 0.65rem;
}
.single-use-coupon-detail__profile .batch-detail-profile__icon {
  width: 42px;
  height: 42px;
}
.single-use-coupon-detail__profile .batch-detail-profile__icon svg {
  width: 20px;
  height: 20px;
}
.single-use-coupon-detail__profile .batch-detail-profile__name {
  font-size: 1rem;
}
.single-use-coupon-detail__profile .batch-detail-profile__code {
  font-size: 0.72rem;
  margin-top: 0.05rem;
}
.single-use-coupon-detail__profile .batch-detail-profile__status {
  padding: 0.25rem 0.7rem;
  font-size: 0.68rem;
}
.single-use-coupon-detail__profile .batch-detail-profile__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
  margin-bottom: 0.55rem;
}
@media (max-width: 991.98px) {
  .single-use-coupon-detail__profile .batch-detail-profile__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .single-use-coupon-detail__profile .batch-detail-profile__grid {
    grid-template-columns: 1fr;
  }
}
.single-use-coupon-detail__profile .batch-detail-profile__field {
  flex-direction: row;
  gap: 0.65rem;
  padding: 0.45rem 0.65rem;
  min-height: 0;
  border-radius: 10px;
  align-items: flex-start;
  min-width: 0;
}
.single-use-coupon-detail__profile .batch-detail-profile__field-text {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
}
.single-use-coupon-detail__profile .batch-detail-profile__field-icon {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
}
.single-use-coupon-detail__profile .batch-detail-profile__field-icon svg {
  width: 13px;
  height: 13px;
}
.single-use-coupon-detail__profile .batch-detail-profile__field-label {
  font-size: 0.65rem;
  margin-bottom: 0.05rem;
  line-height: 1.2;
}
.single-use-coupon-detail__profile .batch-detail-profile__field-value {
  font-size: 0.8rem;
  line-height: 1.25;
}
.single-use-coupon-detail__profile .batch-detail-profile__field-value--ellipsis {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: default;
}
.single-use-coupon-detail__desc {
  padding: 0.5rem 0.7rem;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 10px;
}
.single-use-coupon-detail__desc-label {
  display: block;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
  margin-bottom: 0.1rem;
}
.single-use-coupon-detail__desc-text {
  font-size: 0.8125rem;
  color: #1f2a44;
  line-height: 1.35;
}
.single-use-coupon-detail__log.directory {
  padding-top: 0.35rem;
}
.single-use-coupon-detail__log .directory__header {
  margin-bottom: 0.65rem;
  padding-bottom: 0;
}
.single-use-coupon-detail__log .directory__header h2 {
  font-size: 1.05rem;
  margin-bottom: 0.1rem;
}
.single-use-coupon-detail__log .directory__header p {
  font-size: 0.78rem;
  margin-bottom: 0;
}
.single-use-coupon-detail__log .directory__header .directory__search {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}
@media (max-width: 575.98px) {
  .single-use-coupon-detail__actions, .single-use-coupon-detail__actions .btn-export {
    width: 100%;
  }
  .single-use-coupon-detail__log .directory__header .directory__search {
    max-width: none;
  }
}

@media (min-width: 992px) {
  .fto-adm-ui .single-use-coupon-usage-table .table-head,
  .fto-adm-ui .single-use-coupon-usage-table .fto-directory-row.single-use-coupon-usage-row {
    grid-template-columns: 64px minmax(130px, 1.15fr) minmax(100px, 0.75fr) minmax(150px, 1.05fr) minmax(130px, 1.05fr) minmax(120px, 0.9fr);
    min-width: 960px;
  }
  .fto-adm-ui .single-use-coupon-usage-table .table-head > span:nth-child(1),
  .fto-adm-ui .single-use-coupon-usage-table .fto-directory-row.single-use-coupon-usage-row > :nth-child(1) {
    justify-self: start;
    text-align: left;
  }
}
@media (max-width: 991.98px) {
  .fto-adm-ui .single-use-coupon-usage-table .table-head,
  .fto-adm-ui .single-use-coupon-usage-table .fto-directory-row.single-use-coupon-usage-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }
}
.fto-adm-ui .single-use-coupon-usage-table .single-use-coupon-usage-row__code {
  font-weight: 600;
}
.fto-adm-ui .single-use-coupon-usage-table .fto-directory-empty {
  padding: 1.25rem 0.5rem;
  color: #6b7c93;
  font-size: 0.875rem;
}

.single-use-coupon-status {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
}
.single-use-coupon-status--used {
  background: #e6f6ee;
  color: #1a8a5a;
}
.single-use-coupon-status--unused {
  background: #eef2f6;
  color: #64748b;
}

.lead-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}
.lead-status-badge__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}
.lead-status-badge--not-contacted {
  background: #fff4e5;
  color: #b26a00;
}
.lead-status-badge--contacted, .lead-status-badge--follow-up-later {
  background: #e3f5ec;
  color: #22a06b;
}
.lead-status-badge--wrong-number {
  background: #eef2f6;
  color: #475569;
}
.lead-status-badge--not-interested {
  background: #fdecec;
  color: #F15B55;
}

.lead-followup-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  background: #1a1a1a;
  color: #fff;
}
.lead-followup-pill--due {
  background: #fff4e5;
  color: #b26a00;
}
.lead-followup-pill--overdue {
  background: #fde8e8;
  color: #c62828;
}
.lead-followup-pill--empty {
  background: transparent;
  color: #6b7c93;
  padding: 0;
  font-weight: 500;
}

.lead-trial-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  background: #e8f1fb;
  color: #1F4169;
}
.lead-trial-pill--due {
  background: #fff4e5;
  color: #b26a00;
}
.lead-trial-pill--expired {
  background: #fde8e8;
  color: #c62828;
}
.lead-trial-pill--empty {
  background: transparent;
  color: #6b7c93;
  padding: 0;
  font-weight: 500;
}

.lead-status-badge--trial-active {
  background: #e3f5ec;
  color: #22a06b;
}
.lead-status-badge--trial-expired {
  background: #fde8e8;
  color: #c62828;
}

.prospective-student-detail__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(31, 65, 105, 0.08);
  color: #1F4169;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 700;
  flex-shrink: 0;
}
.prospective-student-detail__profile {
  margin-bottom: 1rem;
}
.prospective-student-detail__profile.batch-detail-profile {
  padding: 1rem 1.15rem;
}
.prospective-student-detail__profile .batch-detail-profile__head {
  margin-bottom: 0.85rem;
  gap: 0.75rem;
}
.prospective-student-detail__profile .batch-detail-profile__name {
  font-size: 1.15rem;
}
.prospective-student-detail__status-field {
  margin-left: auto;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  min-width: 0;
}
@media (max-width: 575.98px) {
  .prospective-student-detail__status-field {
    margin-left: 0;
    width: 100%;
  }
}
.prospective-student-detail__status-label {
  display: block;
  margin: 0;
  padding-left: 0.85rem;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: #6b7c93;
}
.prospective-student-detail__status-select {
  flex: 0 0 auto;
  width: 148px;
  max-width: 100%;
}
.prospective-student-detail__status-select .sc-add-chapter-form__control {
  min-height: 34px;
  height: 34px;
  padding: 0 2.15rem 0 0.85rem;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
}
.prospective-student-detail__status-select .sc-add-chapter-form__select-btn {
  width: 26px;
  height: 26px;
  right: 4px;
  font-size: 0.7rem;
}
@media (max-width: 575.98px) {
  .prospective-student-detail__status-select {
    width: 100%;
  }
}
.prospective-student-detail__profile-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}
@media (max-width: 1199.98px) {
  .prospective-student-detail__profile-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 767.98px) {
  .prospective-student-detail__profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 480px) {
  .prospective-student-detail__profile-grid {
    grid-template-columns: 1fr;
  }
}
.prospective-student-detail__profile-grid .batch-detail-profile__field {
  padding: 0.65rem 0.75rem;
  gap: 0.55rem;
}
.prospective-student-detail__profile-grid .batch-detail-profile__field-label {
  font-size: 0.68rem;
}
.prospective-student-detail__profile-grid .batch-detail-profile__field-value {
  font-size: 0.8125rem;
}
.prospective-student-detail__contact {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  word-break: break-word;
}
.prospective-student-detail__verified {
  color: #22a06b;
  font-size: 0.9rem;
  flex-shrink: 0;
}
.prospective-student-detail__verify {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 600;
}
.prospective-student-detail__verify--yes {
  color: #22a06b;
}
.prospective-student-detail__verify--no {
  color: #6b7c93;
}
.prospective-student-detail__section-desc {
  font-size: 13px;
  color: #6b7c93;
  margin: -6px 0 18px;
  line-height: 1.5;
}
.prospective-student-detail__workspace {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.prospective-student-detail__main {
  min-width: 0;
}
.prospective-student-detail__main .detail-overview {
  background: #ffffff;
  border: 1px solid #e8eef4;
  border-radius: 24px;
  box-shadow: 0 2px 8px rgba(12, 31, 61, 0.04);
  padding: 1rem 1.25rem;
}
.prospective-student-detail__main .detail-overview .detail-overview__section {
  margin-bottom: 0;
}
.prospective-student-detail__main .detail-overview .detail-overview__title {
  margin-bottom: 0.75rem;
}
.prospective-student-detail__main .detail-overview .detail-fields {
  gap: 10px 14px;
}
.prospective-student-detail__main .detail-overview .detail-field {
  padding: 10px 14px;
}
@media (max-width: 575.98px) {
  .prospective-student-detail__main .detail-overview {
    padding: 0.85rem 0.75rem;
  }
  .prospective-student-detail__main .detail-overview .detail-overview__section {
    padding-left: 0;
    padding-right: 0;
  }
}
.prospective-student-detail__side {
  min-width: 0;
}
.prospective-student-detail__side .psd-field .notifications-date-wrap,
.prospective-student-detail__side .psd-field .sc-add-chapter-form__select-wrap {
  max-width: 460px;
}
.prospective-student-detail__side .psd-panel__save {
  display: inline-flex;
  width: auto;
  min-width: 180px;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.psd-panel {
  background: #ffffff;
  border: 1px solid #e8eef4;
  border-radius: 24px;
  box-shadow: 0 2px 8px rgba(12, 31, 61, 0.04);
  padding: 1.35rem 1.4rem;
}
.psd-panel__head {
  margin-bottom: 1.1rem;
}
.psd-panel__title {
  font-size: 1rem;
  font-weight: 700;
  color: #1a2b42;
  margin: 0 0 0.25rem;
}
.psd-panel__subtitle {
  font-size: 0.8rem;
  color: #6b7c93;
  margin: 0;
}
.psd-panel__save {
  justify-content: center;
  margin-top: 0;
}
.psd-panel__divider {
  border: 0;
  border-top: 1px solid #eef2f6;
  margin: 1.4rem 0;
  opacity: 1;
}

.psd-field {
  margin-bottom: 1rem;
}
.psd-field:last-of-type {
  margin-bottom: 1.1rem;
}
.psd-field__label {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  color: #1a2b42;
  margin-bottom: 0.5rem;
  padding-left: 25px;
}
.psd-field .notifications-date-wrap {
  width: 100%;
}
.psd-field .notifications-date-wrap--formatted {
  cursor: pointer;
}
.psd-field .notifications-date-wrap--formatted .notifications-date-wrap__input.sc-add-chapter-form__control {
  width: 100%;
  padding-left: 1.25rem !important;
  padding-right: 2.65rem !important;
  color: transparent;
  -webkit-text-fill-color: transparent;
  caret-color: transparent;
  cursor: pointer;
}
.psd-field .notifications-date-wrap--formatted .notifications-date-wrap__display {
  left: 1.25rem;
  right: 2.65rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1F4169;
}
.psd-field .notifications-date-wrap--formatted .notifications-date-wrap__display.is-placeholder {
  color: #94a3b8;
  font-weight: 400;
}
.psd-field .notifications-date-wrap--formatted .notifications-date-wrap__icon {
  right: 1rem;
  left: auto;
  font-size: 1rem;
  color: #6b7c93;
  pointer-events: none;
}
.psd-field .notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit,
.psd-field .notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-fields-wrapper,
.psd-field .notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-text,
.psd-field .notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-month-field,
.psd-field .notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-day-field,
.psd-field .notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-datetime-edit-year-field,
.psd-field .notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-date-and-time-value {
  color: transparent;
  -webkit-text-fill-color: transparent;
  background: transparent;
}
.psd-field .notifications-date-wrap--formatted .notifications-date-wrap__input::-webkit-calendar-picker-indicator {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.psd-check {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  cursor: pointer;
  user-select: none;
  margin-top: 1rem;
}
.psd-check input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.psd-check__box {
  width: 20px;
  height: 20px;
  border-radius: 6px;
  border: 1.5px solid #cbd5e1;
  background: #ffffff;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.psd-check__box i {
  font-size: 0.8rem;
  opacity: 0;
}
input:checked + .psd-check__box {
  background: #F15B55;
  border-color: #F15B55;
}
input:checked + .psd-check__box i {
  opacity: 1;
}
input:focus-visible + .psd-check__box {
  box-shadow: 0 0 0 3px rgba(241, 91, 85, 0.2);
}
.psd-check__label {
  font-size: 0.85rem;
  color: #1a2b42;
}
.psd-check__label strong {
  font-weight: 700;
}

.psd-remark-form {
  padding-bottom: 1.2rem;
  margin-bottom: 1.2rem;
  border-bottom: 1px solid #eef2f6;
}
.psd-remark-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 575.98px) {
  .psd-remark-form__row {
    grid-template-columns: 1fr;
  }
}
.psd-remark-form__actions {
  display: flex;
  justify-content: center;
  padding-top: 0.15rem;
}

.psd-log {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.psd-log__item {
  position: relative;
  display: flex;
  gap: 0.85rem;
  padding-bottom: 1.15rem;
}
.psd-log__item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 34px;
  bottom: 0;
  width: 2px;
  background: #e8eef4;
}
.psd-log__item:last-child {
  padding-bottom: 0;
}
.psd-log__marker {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.85rem;
  z-index: 1;
}
.psd-log__marker--contacted {
  background: #e3f5ec;
  color: #22a06b;
}
.psd-log__marker--pending {
  background: #fff4e5;
  color: #b26a00;
}
.psd-log__marker--not-interested {
  background: #fdecec;
  color: #F15B55;
}
.psd-log__marker--note {
  background: rgba(31, 65, 105, 0.08);
  color: #1F4169;
}
.psd-log__body {
  flex: 1;
  min-width: 0;
}
.psd-log__meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 0.35rem;
}
.psd-log__author {
  font-size: 0.85rem;
  font-weight: 700;
  color: #1a2b42;
}
.psd-log__time {
  font-size: 0.72rem;
  color: #6b7c93;
}
.psd-log__tag {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 600;
  margin-bottom: 0.4rem;
}
.psd-log__tag--contacted {
  background: #e3f5ec;
  color: #22a06b;
}
.psd-log__tag--pending {
  background: #fff4e5;
  color: #b26a00;
}
.psd-log__tag--not-interested {
  background: #fdecec;
  color: #F15B55;
}
.psd-log__tag--note {
  background: rgba(31, 65, 105, 0.08);
  color: #1F4169;
}
.psd-log__text {
  font-size: 0.82rem;
  color: #6b7c93;
  line-height: 1.5;
}
.psd-log__followup {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.5rem;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  background: #f1f5f9;
  color: #1a2b42;
  font-size: 0.72rem;
  font-weight: 600;
}
.psd-log__followup i {
  font-size: 0.78rem;
  color: #6b7c93;
}

.faqs-row--sortable-drag,
.faqs-row.sortable-fallback {
  background: #fff !important;
  border: 1px solid #eef2f6;
  border-radius: 16px;
  padding: 14px 16px;
  font-size: 13px;
  box-shadow: 0 8px 22px rgba(12, 31, 61, 0.16) !important;
  opacity: 1 !important;
  cursor: grabbing;
  pointer-events: none;
  z-index: 1000;
  overflow: hidden;
}
.faqs-row--sortable-drag > *,
.faqs-row.sortable-fallback > * {
  min-width: 0;
}
.faqs-row--sortable-drag > *:first-child,
.faqs-row--sortable-drag > *:nth-child(2),
.faqs-row.sortable-fallback > *:first-child,
.faqs-row.sortable-fallback > *:nth-child(2) {
  justify-self: center;
  text-align: center;
}
.faqs-row--sortable-drag > *:nth-child(3),
.faqs-row--sortable-drag > *:nth-child(4),
.faqs-row.sortable-fallback > *:nth-child(3),
.faqs-row.sortable-fallback > *:nth-child(4) {
  justify-self: start;
  text-align: left;
}
.faqs-row--sortable-drag > *:not(:first-child):not(:nth-child(2)):not(:nth-child(3)):not(:nth-child(4)),
.faqs-row.sortable-fallback > *:not(:first-child):not(:nth-child(2)):not(:nth-child(3)):not(:nth-child(4)) {
  justify-self: center;
  text-align: center;
}
.faqs-row--sortable-drag .faqs-row__drag,
.faqs-row.sortable-fallback .faqs-row__drag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.faqs-row--sortable-drag .faqs-list__question,
.faqs-row--sortable-drag .faqs-list__answer,
.faqs-row.sortable-fallback .faqs-list__question,
.faqs-row.sortable-fallback .faqs-list__answer {
  min-width: 0;
  width: 100%;
}
.faqs-row--sortable-drag .faqs-list__question,
.faqs-row.sortable-fallback .faqs-list__question {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.faqs-row--sortable-drag .faqs-row__handle,
.faqs-row.sortable-fallback .faqs-row__handle {
  margin-top: 0;
}
.faqs-row--sortable-drag .faqs-list__text,
.faqs-row.sortable-fallback .faqs-list__text {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.faqs-row--sortable-drag .faqs-list__text--answer,
.faqs-row.sortable-fallback .faqs-list__text--answer {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.faqs-row--sortable-drag .faqs-row__status,
.faqs-row--sortable-drag .faqs-row__actions,
.faqs-row.sortable-fallback .faqs-row__status,
.faqs-row.sortable-fallback .faqs-row__actions {
  display: flex;
  align-items: center;
  justify-content: center;
}
.faqs-row--sortable-drag .faqs-row__actions,
.faqs-row.sortable-fallback .faqs-row__actions {
  gap: 0.5rem;
}
.faqs-row--sortable-drag .faqs-row__actions .resources-img,
.faqs-row.sortable-fallback .faqs-row__actions .resources-img {
  width: 17px;
  height: 18px;
  max-width: 17px;
  max-height: 18px;
  border-radius: 0;
  object-fit: contain;
}
.faqs-row--sortable-drag .faqs-row__actions .resources-action i,
.faqs-row.sortable-fallback .faqs-row__actions .resources-action i {
  font-size: 17px;
  line-height: 1;
}
@media (min-width: 992px) {
  .faqs-row--sortable-drag,
  .faqs-row.sortable-fallback {
    display: grid;
    grid-template-columns: 36px 52px minmax(200px, 1.3fr) minmax(240px, 1.7fr) minmax(96px, 0.55fr) calc(108px + 0.7rem);
    gap: 12px;
    align-items: center;
    box-sizing: border-box;
    min-width: 860px;
  }
}

.duration-field {
  position: relative;
  display: block;
  min-width: 0;
}
.duration-field__input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 14px 40px 14px 18px;
  font-family: inherit;
  font-size: 13px;
  color: #0b1f3f;
  background: #ffffff;
  outline: none;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  transition: border-color 0.15s, background 0.15s;
}
.duration-field__input::placeholder {
  color: #a0aec0;
}
.duration-field__input:focus {
  border-color: rgba(31, 65, 105, 0.35);
}
.duration-field__input[readonly] {
  background: #eef2f6;
  color: #6b7c93;
  cursor: default;
}
.duration-field__edit {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #1F4169;
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.duration-field__edit:hover {
  background: rgba(31, 65, 105, 0.08);
}
.duration-field--inline {
  width: 96px;
}
.duration-field--inline .duration-field__input {
  height: 30px;
  min-height: 30px;
  padding: 0 26px 0 12px;
  font-size: 12.5px;
  font-weight: 700;
}
.duration-field--inline .duration-field__edit {
  right: 3px;
  width: 20px;
  height: 20px;
  font-size: 10.5px;
}

/*# sourceMappingURL=styles.css.map */
