/* Measured against NexLink 1.2.0 public demo styles.css, 2026-09-23.
   This adapter maps its design tokens to the application's Bootstrap 5.3.1 and
   legacy class names. Do not import NexLink's complete Bootstrap bundle over ours. */
:root, html.light-theme, html.semi-dark, html.minimal-theme {
  --haze-bg: #fdfdff; --haze-surface: #fff; --haze-surface-2: #f9f9fb;
  --haze-surface-3: #f2f2f6; --haze-border: #e4e4ec; --haze-border-strong: #b0b0c2;
  --haze-text: #696981; --haze-heading: #0c243c; --haze-muted: #696981; --haze-soft: #97a1c0;
  --haze-primary: #5955d1; --haze-primary-hover: #4744a7; --haze-primary-soft: #f5f5fc;
  --haze-secondary: #29294b; --haze-secondary-soft: #f2f2f4;
  --haze-success: #009966; --haze-success-soft: #f0f9f6;
  --haze-info: #7008e7; --haze-info-soft: #f6f0fe;
  --haze-warning: #f5a70d; --haze-warning-soft: #fefaf0;
  --haze-danger: #f83636; --haze-danger-soft: #fff3f3;
  --haze-sidebar-bg: #fff; --haze-sidebar-text: #0c243c; --haze-sidebar-active-bg: #f2f2f6;
}
html.dark-theme {
  color-scheme: dark;
  --haze-bg: #282828; --haze-surface: #1e1e1e; --haze-surface-2: #262626; --haze-surface-3: #232323;
  --haze-border: rgba(255,255,255,.08); --haze-border-strong: rgba(255,255,255,.24);
  --haze-text: #999; --haze-heading: #bcbcbc; --haze-muted: #999; --haze-soft: #999;
  --haze-primary: #b1a7ff; --haze-primary-hover: #c5bdff; --haze-primary-soft: #343050;
  --haze-secondary: #b9c2da; --haze-secondary-soft: #08080f;
  --haze-success: #66c2a3; --haze-success-soft: #001f14;
  --haze-info: #a96bf1; --haze-info-soft: #100023;
  --haze-warning: #f9ca6e; --haze-warning-soft: #312103;
  --haze-danger: #fb8686; --haze-danger-soft: #320b0b;
  --haze-sidebar-bg: #1e1e1e; --haze-sidebar-text: #d6d0df; --haze-sidebar-active-bg: #343050;
}
:root, html.light-theme, html.dark-theme, html.semi-dark, html.minimal-theme {
  --bs-font-sans-serif: "IBM Plex Sans", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: .875rem; --bs-body-font-weight: 400; --bs-body-line-height: 1.55;
  --bs-body-color: var(--haze-text); --bs-body-bg: var(--haze-surface);
  --bs-heading-color: var(--haze-heading); --bs-border-color: var(--haze-border);
  --bs-primary: #5955d1; --bs-primary-rgb: 89,85,209;
  --bs-secondary-rgb: 41,41,75; --bs-success-rgb: 0,153,102; --bs-info-rgb: 112,8,231;
  --bs-warning-rgb: 245,167,13; --bs-danger-rgb: 248,54,54; --bs-light-rgb: 242,242,246;
  --bs-dark-rgb: 12,36,60; --bs-border-radius: 6px; --bs-border-radius-lg: 10px;
  --haze-sidebar-width: 320px; --haze-sidebar-collapsed: 80px;
  --haze-topbar-height: 80px; --haze-sidebar-header-height: 80px;
  --haze-radius: 10px; --haze-control-radius: 6px;
  --haze-shadow-sm: 0 5px 10px rgba(2,2,76,.02);
  --dreams-gradient: linear-gradient(90deg,#5955d1,#918ee1);
  --dreams-focus: rgba(89,85,209,.2);
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body { font-family: var(--bs-body-font-family); font-size: 13.5px; font-weight: 400; line-height: 1.55; letter-spacing: normal; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(button,input,select,textarea,.select2-container,.flatpickr-calendar,.swal2-popup,.lobibox-notify) { font-family: var(--bs-body-font-family); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(h1,h2,h3,h4,h5,h6) { font-family: var(--bs-body-font-family); font-weight: 600; line-height: 1.3; letter-spacing: normal; color: var(--haze-heading); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body h1 { font-size: clamp(24px,2vw,28px); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body h2 { font-size: clamp(20px,1.7vw,24px); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body h3 { font-size: 20px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body h4 { font-size: 18px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body h5 { font-size: 15px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body h6 { font-size: 13.5px; font-weight: 600; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .fw-normal { font-weight: 400 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .fw-medium { font-weight: 500 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .fw-semibold { font-weight: 600 !important; }
/* Soften "bold" for IBM Plex — 700 feels oversized on section titles */
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.fw-bold,.fw-bolder) { font-weight: 600 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .text-muted, html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .text-secondary { color: var(--haze-muted) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .text-primary { color: var(--haze-primary) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-control,.form-select,.form-check-input):focus,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .select2-container--bootstrap-5:is(.select2-container--focus,.select2-container--open) .select2-selection { border-color: var(--haze-primary) !important; outline: 0 !important; box-shadow: 0 0 0 1px var(--haze-primary-soft) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.card,.modal-content,.dropdown-menu,.offcanvas,.list-group-item,.table) { background-color: var(--haze-surface) !important; color: var(--haze-text); border-color: var(--haze-border) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-control,.form-select,.input-group-text) { background-color: var(--haze-surface) !important; color: var(--haze-text) !important; border-color: var(--haze-border-strong) !important; }
html.dark-theme body :is(.card,.modal-content,.dropdown-menu,.offcanvas,.list-group-item,.table) { box-shadow: 0 8px 24px rgba(0,0,0,.18) !important; }
html.dark-theme body :is(.form-control,.form-select,.input-group-text)::placeholder { color: var(--haze-muted) !important; }

/* 80px rail + 240px menu; same geometry as the reference's tabbed sidebar. */
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .sidebar-wrapper.dreams-sidebar { top: 0 !important; bottom: 0 !important; left: 0; width: 320px !important; min-width: 320px !important; max-width: 320px !important; height: 100vh !important; height: 100dvh !important; border: 0 !important; border-right: 1px solid var(--haze-border) !important; border-radius: 0; box-shadow: inset 0 0 10px rgba(41,41,75,.05) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-module-rail { width: 80px; flex-basis: 80px; padding: 20px 16px 16px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-menu-panel { width: 240px; min-width: 240px; background: var(--haze-sidebar-bg); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-rail-brand { height: 25px; margin-bottom: 30px; display: flex; align-items: center; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-rail-brand img { object-fit: contain; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar-search { display: flex; align-items: center; gap: 8px; flex: 0 0 40px; width: calc(100% - 32px); height: 40px; margin: 0 16px 8px; padding: 8px 12px; border: 0; border-radius: 8px; background: var(--haze-surface-2); color: var(--haze-sidebar-text); font-size: 14px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar-search input { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; background: transparent; color: var(--haze-text); font: inherit; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar-search input::placeholder { color: var(--haze-muted); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-rail-popover { position: fixed; z-index: 12000; transform: translateY(-50%); max-width: 240px; padding: 7px 10px; border-radius: 6px; background: var(--haze-heading); color: var(--haze-surface); font-size: 12px; font-weight: 600; line-height: 1.3; white-space: nowrap; pointer-events: none; box-shadow: 0 6px 18px rgba(0,0,0,.16); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-rail-popover::before { content: ''; position: absolute; left: -5px; top: 50%; width: 10px; height: 10px; background: var(--haze-heading); transform: translateY(-50%) rotate(45deg); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar-search:hover, html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar-search:focus-visible { background: var(--haze-primary-soft); color: var(--haze-primary); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-module-list { gap: 4px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-module-list :is(button,a), html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-rail-theme { width: 44px; height: 44px; flex-basis: 44px; font-size: 22px; border: 0; border-radius: 8px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-module-list :is(.current-module,[aria-pressed="true"],[aria-current="page"],button:hover,a:hover) { color: var(--haze-heading); background: var(--haze-surface-3); box-shadow: none; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar .sidebar-header { height: 70px; min-height: 70px; padding: 5px 20px !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar .sidebar-brand { padding: 0; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar .logo-text { font-size: 15px !important; font-weight: 600 !important; letter-spacing: normal; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations { padding: 2px 20px 20px !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations > .menu-label {
  color: var(--haze-primary) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .02em;
  margin: 0 0 2px;
  padding: 4px 0 2px;
  text-transform: none;
  line-height: 1.3;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body.college-dashboard-page .dreams-sidebar #navigations > .menu-group > .menu-group-items { display: block !important; max-height: 0; margin: 0 !important; padding: 0 0 0 12px !important; border: 0 !important; overflow: hidden; opacity: 0; visibility: hidden; transition: max-height .28s ease, opacity .2s ease, padding .28s ease, visibility 0s linear .28s; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body.college-dashboard-page .dreams-sidebar #navigations > .menu-group.mm-active > .menu-group-items { max-height: 2400px; padding-top: 4px !important; padding-bottom: 8px !important; opacity: 1; visibility: visible; transition-delay: 0s; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations > .menu-group > .has-arrow::after { top: 50% !important; transform-origin: center !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations > .menu-group:not(.mm-active) > .has-arrow::after { transform: translateY(-50%) rotate(-45deg) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations > .menu-group { display: flex !important; position: relative !important; flex: 0 0 auto !important; flex-direction: column !important; height: auto !important; min-height: 0 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations > .menu-group[hidden] { display: none !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations > .menu-group > .has-arrow { display: none !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations > .menu-group > .has-arrow { flex: 0 0 auto !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body.college-dashboard-page .dreams-sidebar #navigations > .menu-group > .has-arrow { background: var(--haze-surface-2) !important; border: 0 !important; color: var(--haze-heading) !important; transition: background .2s ease, color .2s ease; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body.college-dashboard-page .dreams-sidebar #navigations > .menu-group > .has-arrow { display: flex !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body.college-dashboard-page .dreams-sidebar #navigations > .menu-group > .has-arrow > .parent-icon { margin-left: 8px !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body.college-dashboard-page .dreams-sidebar #navigations > .menu-group.mm-active > .has-arrow { background: var(--haze-primary-soft) !important; border: 0 !important; color: var(--haze-primary) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations > .menu-group.mm-active > .has-arrow::after { transform: translateY(-50%) rotate(-135deg) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations > .menu-group > .menu-group-items > li { display: flex !important; position: relative !important; flex: 0 0 auto !important; height: auto !important; min-height: 0 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations > .menu-group > .menu-group-items > li[hidden] { display: none !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations > .menu-group > .menu-group-items > li > a { display: flex !important; position: relative !important; width: 100% !important; min-height: 32px !important; height: auto !important; padding: 5px 12px 5px 8px !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body.college-dashboard-page .dreams-sidebar #navigations > .menu-group > .menu-group-items > li > a { color: var(--haze-text) !important; transition: background .2s ease, color .2s ease; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body.college-dashboard-page .dreams-sidebar #navigations > .menu-group > .menu-group-items > li > a:hover,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body.college-dashboard-page .dreams-sidebar #navigations > .menu-group > .menu-group-items > li.mm-active > a { background: var(--haze-primary-soft) !important; color: var(--haze-primary) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body.college-dashboard-page .dreams-sidebar #navigations > .menu-group > .menu-group-items > li.mm-active > a { font-weight: 400 !important; }
/* Focused / active submenus: light tint + bolder weight (all pages) */
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations :is(ul, .menu-group-items) {
  padding-left: 4px !important;
  border-left: 0 !important;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations :is(ul, .menu-group-items) > li > a {
  border-radius: 6px;
  padding-left: 8px !important;
  padding-right: 12px !important;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations :is(ul, .menu-group-items) > li:is(.mm-active,.fw-bold) > a,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations :is(ul, .menu-group-items) > li > a:is(.active,:focus,:focus-visible),
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations :is(ul, .menu-group-items) > li > a:hover {
  background: var(--haze-primary-soft) !important;
  color: var(--haze-primary) !important;
  box-shadow: none !important;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations > li > a { padding: 6px 0; margin: 0; min-height: 32px; font-size: 13.5px !important; font-weight: 400; border-radius: 6px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations ul a { padding: 5px 12px 5px 8px !important; font-size: 13px !important; font-weight: 400; min-height: 30px !important; }
/* One gap at every level; legacy icon/title margins must not add to it. */
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations li > a { gap: 8px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations a > :is(.parent-icon,i) { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 18px; width: 18px; min-width: 18px; margin: 0; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations a > .menu-title { margin-left: 0; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations .parent-icon > i { margin: 0; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations .parent-icon { font-size: 18px; color: var(--haze-muted); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations > li:is(.mm-active,.fw-bold) > a,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations > li > a:is(.active,:hover,:focus) { color: var(--haze-primary) !important; background: transparent !important; box-shadow: none !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations > li:is(.mm-active,.fw-bold) > a .parent-icon,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations :is(ul, .menu-group-items) > li:is(.mm-active,.fw-bold) > a .parent-icon { color: var(--haze-primary); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .topbar { left: var(--haze-sidebar-width); background: var(--haze-bg) !important; border-bottom: 1px solid var(--haze-border) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .topbar .navbar { padding: 0 24px; gap: 16px !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .mobile-toggle-menu { width: 28px; height: 28px; min-width: 28px; font-size: 17px; border-radius: 6px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-search-trigger { width: min(300px,30vw); min-height: 40px; padding: 7px 12px; font-size: 13px; font-weight: 400; background: var(--haze-surface-3); border: 0; border-radius: 6px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .topbar .top-menu .nav-link { width: 36px; height: 36px; font-size: 22px; background: transparent !important; border: 0; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .topbar .user-box { border: 0; background: transparent; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .topbar .user-box > a { flex-direction: row-reverse; gap: 10px !important; background: transparent !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .topbar .user-info { text-align: right; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .topbar .user-name { font-size: 13px; font-weight: 500; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .topbar .designattion { font-size: 11px; font-weight: 400; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .page-wrapper {
  height: auto !important;
  margin-top: 68px;
  margin-right: 0;
  margin-bottom: 0 !important;
  margin-left: var(--haze-sidebar-width);
  padding-bottom: 0;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .page-content { padding: 10px 35px 20px; }
/* Footer follows page content (no sticky/fixed stretch gap). */
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper:has(> .page-wrapper):has(> .page-footer) {
  display: block;
  min-height: 0;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper > .overlay {
  position: fixed !important;
  margin: 0 !important;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .page-footer {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: auto !important;
  display: flex !important;
  align-items: center !important;
  clear: both;
  min-height: 52px;
  margin: 0 0 0 var(--haze-sidebar-width) !important;
  padding: 14px 35px !important;
  border-top: 1px solid var(--haze-border) !important;
  background: var(--haze-bg) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  text-align: left !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: var(--haze-muted) !important;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .page-footer p {
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  color: inherit !important;
  line-height: 1.5 !important;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .page-footer a {
  color: var(--haze-primary) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .page-footer a:hover {
  text-decoration: underline !important;
}
/* Keep back-to-top clear of the footer strip. */
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .back-to-top {
  bottom: 72px !important;
  right: 20px !important;
  z-index: 20 !important;
}
/* Nested footer (inside page-wrapper) must not inherit sidebar offset again. */
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .page-wrapper .page-footer,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled .page-wrapper .page-footer {
  margin-left: 0 !important;
  width: 100%;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .page-breadcrumb,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body #pageBreadcrumb {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 0 12px !important;
  margin: 0 0 16px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-page-heading { padding: 0; margin: 0; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-page-heading h1 { font-size: 18px; font-weight: 600; margin: 0 0 6px; padding: 0; line-height: 1.3; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-page-heading .breadcrumb {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px;
  --bs-breadcrumb-item-padding-x: .75rem;
  gap: 0;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .page-breadcrumb .breadcrumb-item + .breadcrumb-item,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-page-heading .breadcrumb-item + .breadcrumb-item {
  padding-left: .75rem !important;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .page-breadcrumb .breadcrumb-item + .breadcrumb-item::before,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-page-heading .breadcrumb-item + .breadcrumb-item::before {
  float: none;
  padding-right: .75rem !important;
  color: var(--haze-soft) !important;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-page-context {
  margin: 0;
  padding: 0;
  font-size: 12px;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.dreams-page-heading .breadcrumb,.dreams-page-context) { font-size: 12px; }

/* Shared components. Specificity deliberately defeats legacy theme overrides. */
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .card { border-radius: 10px !important; background: var(--haze-surface) !important; border-color: var(--haze-border) !important; box-shadow: 0 5px 10px rgba(2,2,76,.02) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .card-header { padding: 16px 20px; background: transparent !important; border-bottom-color: var(--haze-border) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .card-body { padding: 16px 20px; background: transparent !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .card-footer { padding: 16px 20px; background: transparent !important; border-top-color: var(--haze-border) !important; }
/* Nested cards inside tabs/panels keep the same surface as parent cards. */
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .card .card,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .tab-content .card,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .tab-pane .card {
  background: var(--haze-surface) !important;
  border-color: var(--haze-border) !important;
  box-shadow: 0 5px 10px rgba(2,2,76,.02) !important;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.card-header h6,.card-title) { font-size: 13.5px; font-weight: 600; }
/* Section titles used across forms/tabs — keep compact, not shouty */
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.card-body,.tab-pane,.modal-body) > :is(h6,h5),
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.card-body,.tab-pane,.modal-body) form > :is(h6,h5),
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body form.row > :is(h6,h5) {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.4;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .row-cols-xl-4 > .col > .card::before { display: none; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn { font-size: 13.5px; font-weight: 400; line-height: 1.45; padding: .5rem 1.1rem; border-radius: 8px; box-shadow: none; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-sm { padding: .4rem .7rem; font-size: 12.5px; line-height: 1.4; border-radius: 6px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-lg { padding: .65rem 1.25rem; font-size: 14px; line-height: 1.45; border-radius: 10px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn:disabled, html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn.disabled { opacity: .65; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .form-label { margin-bottom: .35rem; font-size: 13px; font-weight: 500; color: var(--haze-text); }
/*
  Form field rhythm: Bootstrap vertical gutters use negative row margins that fight
  theme overrides. Prefer a compact row-gap.
*/
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body form.row,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body form .row {
  --bs-gutter-y: 0;
  row-gap: .9rem;
  margin-top: 0;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body form.row.g-2,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body form .row.g-2 {
  row-gap: .75rem;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.card-body, .modal-body, .tab-pane) > form.row {
  margin-top: .1rem;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.card-body, .modal-body, .tab-pane) form.row > [class*="col-"]:last-child:has(:is(.btn, button[type="submit"], button[type="button"].btn-primary, .btn-primary)) {
  margin-top: .2rem !important;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-control,.form-select,.input-group-text) { font-family: var(--bs-body-font-family); font-size: 13.5px; font-weight: 400; line-height: 1.5; padding: .5rem 1.1rem; min-height: 40px; border-radius: 6px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-control,.form-select,.input-group-text),
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .select2-container--bootstrap-5 :is(.select2-selection__rendered,.select2-selection__placeholder,.select2-search__field,.select2-results__option,.select2-selection__choice) { font-weight: 400 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .form-select { padding-right: 3.4rem; background-position: right 1.1rem center; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-control-sm,.form-select-sm) { min-height: 36px; font-size: 12.5px; padding: .4rem .7rem; border-radius: 6px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-control-lg,.form-select-lg) { min-height: 46px; font-size: 14px; padding: .65rem 1.2rem; border-radius: 8px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-control,.form-select,.input-group-text) { border: 1px solid var(--haze-border-strong) !important; background-color: var(--haze-surface) !important; color: var(--haze-text); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-control,.form-select):disabled { background-color: var(--haze-surface-3) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-control,.form-select,.form-check-input):focus,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .select2-container--bootstrap-5:is(.select2-container--focus,.select2-container--open) .select2-selection { border-color: var(--haze-primary) !important; outline: 0 !important; box-shadow: 0 0 0 1px color-mix(in srgb, var(--haze-primary) 28%, transparent) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-control,.form-select).is-invalid { border-color: #f83636 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-control,.form-select).is-valid { border-color: #009966 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-control::placeholder,.select2-selection__placeholder) { color: var(--haze-muted) !important; opacity: 1; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .form-check-input { width: 1.5em; height: 1.5em; margin-top: .05em; border: 1px solid var(--haze-border-strong); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .form-check-input:checked { background-color: #5955d1; border-color: #5955d1; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .form-switch .form-check-input { width: 2.8em; margin-left: -3.3em; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .input-group > :not(:first-child):not(.dropdown-menu) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .select2-container--bootstrap-5 .select2-selection { min-height: 40px; padding: .5rem 1.1rem; border: 1px solid var(--haze-border-strong) !important; border-radius: 6px; background: var(--haze-surface) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .select2-container--bootstrap-5 :is(.select2-selection__rendered,.select2-selection__placeholder,.select2-search__field,.select2-results__option,.select2-selection__choice) { font-size: 13.5px !important; font-weight: 400 !important; line-height: 1.5 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .select2-container--bootstrap-5 .select2-results__option--highlighted { background: #5955d1 !important; color: #fff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .select2-container--bootstrap-5.select2-container--disabled .select2-selection { background: var(--haze-surface-3); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-text,.invalid-feedback,.valid-feedback) { font-size: 12px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .modal-content { border: 0; border-radius: 10px; background: var(--haze-surface); box-shadow: 0 .26rem 1.126rem rgba(45,42,60,.15); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .modal-header { padding: 16px 20px; background: var(--haze-surface); border-bottom: 1px solid var(--haze-border); border-radius: 10px 10px 0 0; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .modal-header .modal-title { font-size: 15px; font-weight: 600; line-height: 1.4; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .modal-body { padding: 20px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .modal-footer { padding: 16px; gap: 0; background: var(--haze-surface); border-top: 1px solid var(--haze-border); border-radius: 0 0 10px 10px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .modal-footer > * { margin: 4px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .modal-backdrop { background-color: rgba(12, 36, 60, .4); backdrop-filter: blur(12px) saturate(130%); -webkit-backdrop-filter: blur(12px) saturate(130%); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .modal-backdrop.show { opacity: 1; }
html.dark-theme body .modal-backdrop { background-color: rgba(0, 0, 0, .5); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .nav-tabs { gap: 0; border-bottom: 1px solid var(--haze-border); background: transparent; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .nav-tabs .nav-link { padding: 7px 16px; margin-bottom: -1px; border: 1px solid transparent !important; border-radius: 6px 6px 0 0; font-size: 13px; font-weight: 500; color: var(--haze-primary); box-shadow: none; background: transparent !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .nav-tabs .nav-link:hover { background: var(--haze-surface-2) !important; border-color: var(--haze-border) var(--haze-border) transparent !important; color: var(--haze-primary) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .nav-tabs .nav-link.active { color: var(--haze-heading) !important; background: var(--haze-surface) !important; border-color: var(--haze-border) var(--haze-border) var(--haze-surface) !important; box-shadow: none; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .tab-content,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .tab-pane { background: transparent !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .nav-pills { gap: 0; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .nav-pills .nav-link { padding: 7px 16px; font-size: 13px; border-radius: 6px; font-weight: 500; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .nav-pills .nav-link.active, html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .nav-pills .show > .nav-link { background: #5955d1 !important; color: #fff !important; box-shadow: none; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .nav-pills-custom .nav-link.active { background: var(--haze-surface) !important; color: var(--haze-heading) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dropdown-menu { padding: 6px; border: 1px solid var(--haze-border); border-radius: 6px; background: var(--haze-surface); box-shadow: 0 5px 10px rgba(0,0,0,.05); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dropdown-item { padding: 7px 14px; font-size: 13px; border-radius: 6px; color: var(--haze-text); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dropdown-item:is(:hover,:focus) { background: var(--haze-surface-3); color: var(--haze-text); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dropdown-item.active { background: var(--haze-primary-soft); color: var(--haze-primary); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .badge { font-size: 11px; font-weight: 500 !important; line-height: 1.4; padding: 4px 8px; border-radius: 6px; min-width: 24px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .badge.rounded-pill { border-radius: 50rem !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .table { font-size: 13px; line-height: 1.5; color: var(--haze-text); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .table > :not(caption) > * > * { padding: 10px 14px; border-color: var(--haze-border); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .table thead th { font-size: 12px; font-weight: 600; padding-top: 9px !important; padding-bottom: 9px !important; letter-spacing: .01em; color: var(--haze-heading) !important; background: var(--haze-surface-2) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .table-sm > :not(caption) > * > * { padding: 8px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dataTables_wrapper :is(.dataTables_info,.dataTables_length,.dataTables_filter) { font-size: 12.5px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .page-link { font-size: 13px; padding: 5px 10px; margin: 0 3px; border-radius: 6px !important; color: var(--haze-primary); border-color: var(--haze-border); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .page-item.active .page-link { background: #5955d1; border-color: #5955d1; color: #fff; }
/* Dashboard cards inherit the same component system, including custom panels. */
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dashboard-overview .page-content { gap: 24px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dashboard-overview :is(.card-body,.card-header) { padding: 16px 20px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dashboard-overview .card-header h6 { font-size: 13px; font-weight: 600; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dashboard-overview .metric-tile { border-radius: 10px !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dashboard-overview .metric-tile-value { font-size: 24px; font-weight: 600; letter-spacing: normal; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dashboard-overview .metric-tile-label { font-size: 13px; font-weight: 500; color: var(--haze-heading); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dashboard-overview .metric-tile-caption { font-size: 11px; font-weight: 400; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dashboard-overview .metric-tile-icon { width: 40px; height: 40px; font-size: 22px; border-radius: 8px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dashboard-overview .financial-overview .card-body h4 { font-size: 20px; font-weight: 600; letter-spacing: normal; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .college-dashboard .dashboard-hero { padding: 16px 20px; border: 1px solid var(--haze-border); border-radius: 10px; background: var(--haze-surface); color: var(--haze-text); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .college-dashboard .dashboard-hero::after { display: none; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .college-dashboard .dashboard-hero h2 { color: var(--haze-heading); font-size: 20px; font-weight: 600; letter-spacing: normal; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .college-dashboard .dashboard-hero p, html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .college-dashboard .dashboard-year span { color: var(--haze-text); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .college-dashboard .dashboard-eyebrow { color: var(--haze-primary); letter-spacing: .04em; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .college-dashboard .dashboard-year { background: var(--haze-primary-soft); border: 1px solid var(--haze-border); border-radius: 6px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .college-dashboard .dashboard-year strong { color: var(--haze-primary); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .college-dashboard .dashboard-year-icon { color: var(--haze-primary); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .college-dashboard .financial-overview > .card-body > .row .card,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .college-dashboard #dashboardExpenses > .row-cols-1 .card,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .college-dashboard .card.border-start { border-radius: 10px !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .section-authentication-signin .card { border-radius: 10px !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body.login-page .login-shell { border-radius: 16px !important; }

@media (min-width: 1200px) {
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled:not(.sidebar-hovered) .sidebar-wrapper.dreams-sidebar { width: 80px !important; min-width: 80px !important; max-width: 80px !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled:not(.sidebar-hovered) .dreams-sidebar .dreams-menu-panel { display: none !important; width: 0 !important; min-width: 0 !important; visibility: hidden !important; overflow: hidden !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled:not(.sidebar-hovered) .dreams-sidebar .dreams-module-rail { width: 80px !important; min-width: 80px !important; flex-basis: 80px !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled:not(.sidebar-hovered) .dreams-sidebar .dreams-module-rail :is(.menu-title,.menu-label) { display: none !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled:not(.sidebar-hovered) .dreams-sidebar :is(.sidebar-header,.dreams-menu-scroll,#navigations,#navigations > li) { overflow: hidden !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled:not(.sidebar-hovered) .dreams-sidebar #navigations :is(.menu-title,.menu-label,.menu-group > .has-arrow::after,.menu-group-items) { display: none !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled .topbar { left: 80px !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled .page-wrapper,
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled > .page-footer { margin-left: 80px !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled .page-wrapper .page-footer { margin-left: 0 !important; }
}
@media (max-width: 1199.98px) {
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper .sidebar-wrapper.dreams-sidebar { left: -320px !important; width: 320px !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled .sidebar-wrapper.dreams-sidebar { left: 0 !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper .dreams-sidebar .dreams-menu-panel { display: flex !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper .topbar { left: 0 !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper .page-wrapper, html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper .page-footer { margin-left: 0 !important; }
}
@media (max-width: 575.98px) {
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .page-content { padding: 10px 12px 20px; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .topbar .navbar { padding: 0 12px; gap: 8px !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-search-trigger { width: 34px; height: 34px; min-height: 34px; padding: 0; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .topbar .user-info { display: none; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .page-footer { padding: 14px 12px; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-control,.form-select), html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .select2-container--bootstrap-5 :is(.select2-selection__rendered,.select2-search__field) { font-size: 16px; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .modal-dialog { margin: 8px; }
}
@media print {
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .page-wrapper, html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled .page-wrapper { margin: 0 !important; }
}

html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .bg-primary:is(.card,:not(.card)) { background-color: #5955d1 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .text-primary { color: var(--haze-primary, #5955d1) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.bg-light-primary,.bg-primary-subtle) { background-color: var(--haze-primary-soft, var(--haze-surface-2)) !important; color: var(--haze-primary, #5955d1) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-primary { background: #5955D1 !important; border-color: #5955D1 !important; color: #ffffff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-primary:is(:hover,:focus-visible) { background: #4c48b2 !important; border-color: #4744a7 !important; color: #ffffff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-outline-primary { color: var(--haze-primary, #5955d1); border-color: #5955d1; background: transparent; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-outline-primary:is(:hover,:active,.active) { background: #5955d1 !important; border-color: #5955d1 !important; color: #fff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .badge.bg-primary { color: #fff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .alert-primary { background: var(--haze-primary-soft,var(--haze-surface-2)); color: var(--haze-primary,#5955d1); border-color: var(--haze-border); }

html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .bg-secondary:is(.card,:not(.card)) { background-color: #29294b !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .text-secondary { color: var(--haze-secondary, #29294b) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.bg-light-secondary,.bg-secondary-subtle) { background-color: var(--haze-secondary-soft, var(--haze-surface-2)) !important; color: var(--haze-secondary, #29294b) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-secondary { background: #29294B !important; border-color: #29294B !important; color: #ffffff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-secondary:is(:hover,:focus-visible) { background: #232340 !important; border-color: #21213c !important; color: #ffffff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-outline-secondary { color: var(--haze-secondary, #29294b); border-color: #29294b; background: transparent; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-outline-secondary:is(:hover,:active,.active) { background: #29294b !important; border-color: #29294b !important; color: #fff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .badge.bg-secondary { color: #fff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .alert-secondary { background: var(--haze-secondary-soft,var(--haze-surface-2)); color: var(--haze-secondary,#29294b); border-color: var(--haze-border); }

html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .bg-success:is(.card,:not(.card)) { background-color: #009966 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .text-success { color: var(--haze-success, #009966) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.bg-light-success,.bg-success-subtle) { background-color: var(--haze-success-soft, var(--haze-surface-2)) !important; color: var(--haze-success, #009966) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-success { background: #009966 !important; border-color: #009966 !important; color: #ffffff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-success:is(:hover,:focus-visible) { background: #008257 !important; border-color: #007a52 !important; color: #ffffff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-outline-success { color: var(--haze-success, #009966); border-color: #009966; background: transparent; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-outline-success:is(:hover,:active,.active) { background: #009966 !important; border-color: #009966 !important; color: #fff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .badge.bg-success { color: #fff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .alert-success { background: var(--haze-success-soft,var(--haze-surface-2)); color: var(--haze-success,#009966); border-color: var(--haze-border); }

html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .bg-info:is(.card,:not(.card)) { background-color: #7008e7 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .text-info { color: var(--haze-info, #7008e7) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.bg-light-info,.bg-info-subtle) { background-color: var(--haze-info-soft, var(--haze-surface-2)) !important; color: var(--haze-info, #7008e7) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-info { background: #7008E7 !important; border-color: #7008E7 !important; color: #ffffff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-info:is(:hover,:focus-visible) { background: #5f07c4 !important; border-color: #5a06b9 !important; color: #ffffff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-outline-info { color: var(--haze-info, #7008e7); border-color: #7008e7; background: transparent; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-outline-info:is(:hover,:active,.active) { background: #7008e7 !important; border-color: #7008e7 !important; color: #fff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .badge.bg-info { color: #fff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .alert-info { background: var(--haze-info-soft,var(--haze-surface-2)); color: var(--haze-info,#7008e7); border-color: var(--haze-border); }

html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .bg-warning:is(.card,:not(.card)) { background-color: #f5a70d !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .text-warning { color: var(--haze-warning, #f5a70d) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.bg-light-warning,.bg-warning-subtle) { background-color: var(--haze-warning-soft, var(--haze-surface-2)) !important; color: var(--haze-warning, #f5a70d) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-warning { background: #F5A70D !important; border-color: #F5A70D !important; color: #ffffff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-warning:is(:hover,:focus-visible) { background: #d08e0b !important; border-color: #c4860a !important; color: #ffffff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-outline-warning { color: var(--haze-warning, #f5a70d); border-color: #f5a70d; background: transparent; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-outline-warning:is(:hover,:active,.active) { background: #f5a70d !important; border-color: #f5a70d !important; color: #000 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .badge.bg-warning { color: #fff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .alert-warning { background: var(--haze-warning-soft,var(--haze-surface-2)); color: var(--haze-warning,#f5a70d); border-color: var(--haze-border); }

html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .bg-danger:is(.card,:not(.card)) { background-color: #f83636 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .text-danger { color: var(--haze-danger, #f83636) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.bg-light-danger,.bg-danger-subtle) { background-color: var(--haze-danger-soft, var(--haze-surface-2)) !important; color: var(--haze-danger, #f83636) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-danger { background: #F83636 !important; border-color: #F83636 !important; color: #ffffff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-danger:is(:hover,:focus-visible) { background: #d32e2e !important; border-color: #c62b2b !important; color: #ffffff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-outline-danger { color: var(--haze-danger, #f83636); border-color: #f83636; background: transparent; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-outline-danger:is(:hover,:active,.active) { background: #f83636 !important; border-color: #f83636 !important; color: #000 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .badge.bg-danger { color: #fff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .alert-danger { background: var(--haze-danger-soft,var(--haze-surface-2)); color: var(--haze-danger,#f83636); border-color: var(--haze-border); }

html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .bg-dark:is(.card,:not(.card)) { background-color: #0c243c !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .text-dark { color: var(--haze-dark, #0c243c) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.bg-light-dark,.bg-dark-subtle) { background-color: var(--haze-dark-soft, var(--haze-surface-2)) !important; color: var(--haze-dark, #0c243c) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-dark { background: #0C243C !important; border-color: #0C243C !important; color: #ffffff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-dark:is(:hover,:focus-visible) { background: #304559 !important; border-color: #243a50 !important; color: #ffffff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-outline-dark { color: var(--haze-dark, #0c243c); border-color: #0c243c; background: transparent; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-outline-dark:is(:hover,:active,.active) { background: #0c243c !important; border-color: #0c243c !important; color: #fff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .badge.bg-dark { color: #fff !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .alert-dark { background: var(--haze-dark-soft,var(--haze-surface-2)); color: var(--haze-dark,#0c243c); border-color: var(--haze-border); }

html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-primary:is(:active,.active) { background: #4744a7 !important; border-color: #43409d !important; color: #ffffff !important; }

html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-secondary:is(:active,.active) { background: #21213c !important; border-color: #1f1f38 !important; color: #ffffff !important; }

html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-success:is(:active,.active) { background: #007a52 !important; border-color: #00734d !important; color: #ffffff !important; }

html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-info:is(:active,.active) { background: #5a06b9 !important; border-color: #5406ad !important; color: #ffffff !important; }

html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-warning:is(:active,.active) { background: #c4860a !important; border-color: #b87d0a !important; color: #ffffff !important; }

html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-danger:is(:active,.active) { background: #c62b2b !important; border-color: #ba2929 !important; color: #ffffff !important; }

html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-dark:is(:active,.active) { background: #3d5063 !important; border-color: #243a50 !important; color: #ffffff !important; }

/* Compatibility for existing decorated inputs and modal dismissal buttons. */
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .input-icon .form-control { padding-left: 42px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .input-icon > span.position-absolute { left: 14px; pointer-events: none; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .modal :is(.btn-danger,.btn-success)[data-bs-dismiss="modal"],
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.btn-light,.btn-white) { background: var(--haze-surface-3) !important; border-color: var(--haze-surface-3) !important; color: var(--haze-heading) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .modal :is(.btn-danger,.btn-success)[data-bs-dismiss="modal"]:hover { background: var(--haze-border) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .topbar .user-box > a { border: 0 !important; box-shadow: none !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn[class*="bg-light-"]:hover { background: var(--haze-surface-3) !important; color: var(--haze-heading) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice { font-size: 12px; color: var(--haze-primary); background: var(--haze-primary-soft); border: 1px solid var(--haze-border); border-radius: 6px; }
@media (max-width: 1199.98px) {
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled .dreams-sidebar .sidebar-header { width: 100% !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled .overlay { display: block; position: fixed; inset: 80px 0 0 320px; z-index: 11; background: rgba(0,0,0,.25); }
}

html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .form-check { padding-left: 2em; min-height: 1.4rem; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .form-check .form-check-input { margin-left: -2em; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .form-switch { padding-left: 3.3em; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .form-switch .form-check-input { margin-left: -3.3em; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .form-check-input[type="checkbox"] { border-radius: 6px; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .form-switch .form-check-input[type="checkbox"] { border-radius: 2.8em; }
html.dark-theme body .form-check-input:not(:checked):not(:indeterminate) { background-color: var(--haze-surface) !important; border-color: var(--haze-border-strong) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .section-authentication-signin .card::before { display: none; }

/* Restore the full menu in the tablet band where the old template collapsed it. */
@media (min-width: 1025px) and (max-width: 1199.98px) {
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled .sidebar-wrapper.dreams-sidebar { width: 320px !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled .dreams-sidebar :is(.sidebar-brand,.logo-text,.menu-title,.menu-label) { display: block !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled .dreams-sidebar .sidebar-header { justify-content: flex-start; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled .dreams-sidebar #navigations { padding: 2px 20px 20px !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled .dreams-sidebar #navigations a { justify-content: flex-start; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled .dreams-sidebar #navigations .has-arrow::after { display: block !important; }
  html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .wrapper.toggled .dreams-sidebar #navigations ul.mm-show { display: block !important; }
}

/* Legacy typography used !important; resolve weights explicitly at this layer. */
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-label,.form-check-label,.nav-link,.input-group-text,.form-text,.invalid-feedback,.valid-feedback),
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dataTables_wrapper :is(label,.dataTables_info) { font-weight: 500 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.btn,button,.accordion-button,.page-link,.dropdown-item,input[type="button"],input[type="submit"],input[type="reset"],.swal2-styled,.swal2-confirm,.swal2-cancel,.swal2-deny,.dt-button,.buttons-html5,.buttons-print),
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.btn-group,.btn-group-vertical) :is(.btn,.dropdown-item,button,a),
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dataTables_wrapper :is(.paginate_button,.dt-paging-button,.btn),
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn :is(.fw-bold,.fw-semibold,.fw-medium,.fw-bolder),
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .btn-group .dropdown-item :is(.fw-bold,.fw-semibold,.fw-medium,.fw-bolder) { font-weight: 400 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.card-header h5,.card-header h6,.card-title,.modal-title,.user-info .user-name,.msg-header-title,.table thead th) { font-weight: 600 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations > li > a { font-weight: 500 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations :is(ul, .menu-group-items) a { font-weight: 400 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations :is(ul, .menu-group-items) li:is(.mm-active,.fw-bold) > a,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .dreams-sidebar #navigations :is(ul, .menu-group-items) a:is(.active,:focus,:focus-visible) { font-weight: 400 !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .card :is(.bg-gradient-blues,.bg-gradient-deepblue) { background: var(--haze-primary-soft) !important; color: var(--haze-primary) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .card :is(.bg-gradient-burning,.bg-gradient-bloody,.bg-gradient-ibiza) { background: var(--haze-danger-soft) !important; color: var(--haze-danger) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .card :is(.bg-gradient-ohhappiness,.bg-gradient-quepal,.bg-gradient-lush) { background: var(--haze-success-soft) !important; color: var(--haze-success) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .card :is(.bg-gradient-orange,.bg-gradient-kyoto) { background: var(--haze-warning-soft) !important; color: var(--haze-warning) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .card :is(.bg-gradient-scooter,.bg-gradient-blooker,.bg-gradient-cosmic,.bg-gradient-moonlit) { background: var(--haze-info-soft) !important; color: var(--haze-info) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .fs-1 { font-size: 35px !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .fs-2 { font-size: 28px !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .fs-3 { font-size: 24.5px !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .fs-4 { font-size: 21px !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .fs-5 { font-size: 17.5px !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .fs-6 { font-size: 14px !important; }

/* Final theme cascade: keep surfaces, text, borders, and controls on one token system. */
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body { background: var(--haze-bg) !important; color: var(--haze-text) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.card,.modal-content,.dropdown-menu,.offcanvas,.list-group-item) { background-color: var(--haze-surface) !important; color: var(--haze-text) !important; border-color: var(--haze-border) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(h1,h2,h3,h4,h5,h6,.card-title,.modal-title,.table thead th) { color: var(--haze-heading) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-control,.form-select,.input-group-text,.select2-container--bootstrap-5 .select2-selection) { background-color: var(--haze-surface) !important; color: var(--haze-text) !important; border: 1px solid var(--haze-border-strong) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .form-select option,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .select2-container--bootstrap-5 :is(.select2-results__option,.select2-selection__rendered,.select2-selection__placeholder,.select2-search__field,.select2-selection__choice) {
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-control,.form-select)::placeholder { color: var(--haze-muted) !important; opacity: 1; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.card .card, .tab-content .card, .tab-pane .card) { background-color: var(--haze-surface) !important; border-color: var(--haze-border) !important; }
html.dark-theme body .dreams-sidebar-search input::placeholder { color: var(--haze-muted) !important; opacity: 1; }
html.dark-theme body .dataTables_wrapper .dataTables_paginate :is(.paginate_button,.page-link),
html.dark-theme body .pagination :is(.page-link,.paginate_button) { background-color: var(--haze-surface) !important; color: var(--haze-text) !important; border-color: var(--haze-border) !important; }
html.dark-theme body .dataTables_wrapper .dataTables_paginate :is(.paginate_button:hover,.page-link:hover),
html.dark-theme body .pagination :is(.page-link:hover,.paginate_button:hover) { background-color: var(--haze-surface-3) !important; color: var(--haze-heading) !important; border-color: var(--haze-border-strong) !important; }
html.dark-theme body .dataTables_wrapper .dataTables_paginate :is(.paginate_button.current,.page-item.active .page-link),
html.dark-theme body .pagination .page-item.active .page-link { background-color: var(--haze-primary) !important; color: #fff !important; border-color: var(--haze-primary) !important; }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .table { --bs-table-bg: var(--haze-surface); --bs-table-color: var(--haze-text); --bs-table-border-color: var(--haze-border); }
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body :is(.form-control,.form-select,.form-check-input):focus,
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .select2-container--bootstrap-5:is(.select2-container--focus,.select2-container--open) .select2-selection { border-color: var(--haze-primary) !important; outline: 0 !important; box-shadow: 0 0 0 1px var(--haze-primary-soft) !important; }

/* Checkbox cards — theme-safe for light/dark */
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .checkbox-card {
  border-color: var(--haze-border-strong);
  background: var(--haze-surface-2);
  color: var(--haze-heading);
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .checkbox-card:hover {
  border-color: color-mix(in srgb, var(--haze-primary) 40%, var(--haze-border-strong));
  background: var(--haze-primary-soft);
}
html:is(.light-theme,.dark-theme,.semi-dark,.minimal-theme) body .checkbox-card:has(.form-check-input:checked) {
  border-color: var(--haze-primary);
  background: var(--haze-primary-soft);
  color: var(--haze-primary);
}
html.dark-theme body .btn-outline-danger {
  color: var(--haze-danger);
  border-color: color-mix(in srgb, var(--haze-danger) 55%, var(--haze-border));
}
html.dark-theme body .btn-outline-danger:hover {
  color: #fff;
  background: var(--haze-danger);
  border-color: var(--haze-danger);
}

/* Dark mode: remap legacy mogav tokens + kill remaining light chrome mismatches */
html.dark-theme {
  --mogav-bg: var(--haze-bg);
  --mogav-surface: var(--haze-surface);
  --mogav-surface-soft: var(--haze-surface-2);
  --mogav-border: var(--haze-border);
  --mogav-border-strong: var(--haze-border-strong);
  --mogav-text: var(--haze-heading);
  --mogav-muted: var(--haze-muted);
  --mogav-primary: var(--haze-primary);
  --mogav-primary-dark: var(--haze-primary-hover);
  --mogav-primary-soft: var(--haze-primary-soft);
  --mogav-success: var(--haze-success);
  --mogav-warning: var(--haze-warning);
  --mogav-danger: var(--haze-danger);
  --mogav-info: var(--haze-info);
  --mogav-shadow-sm: 0 1px 2px rgb(0 0 0 / 28%);
  --mogav-shadow-md: 0 12px 28px rgb(0 0 0 / 32%);
  --mogav-shadow-lg: 0 24px 60px rgb(0 0 0 / 40%);
  --bs-secondary-color: var(--haze-muted);
  --bs-tertiary-color: var(--haze-soft);
  --bs-border-color: var(--haze-border);
  --bs-border-color-translucent: var(--haze-border);
}
html.dark-theme body :is(.tab-title, .user-info .user-name, .breadcrumb-title) {
  color: var(--haze-heading) !important;
}
html.dark-theme body .user-info .designattion,
html.dark-theme body .page-footer,
html.dark-theme body .page-breadcrumb .breadcrumb li.breadcrumb-item,
html.dark-theme body .form-label,
html.dark-theme body .form-text,
html.dark-theme body .dataTables_wrapper :is(.dataTables_info, .dataTables_length, .dataTables_filter, label) {
  color: var(--haze-muted) !important;
}
html.dark-theme body .page-footer {
  background: var(--haze-bg) !important;
  border-top-color: var(--haze-border) !important;
}
html.dark-theme body .page-breadcrumb,
html.dark-theme body #pageBreadcrumb {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html.dark-theme body :is(hr, .card-body > hr, .dropdown-divider) {
  border-color: var(--haze-border-strong) !important;
  color: var(--haze-border-strong) !important;
  opacity: 1 !important;
  background-color: transparent !important;
}
html.dark-theme body .card .card,
html.dark-theme body .tab-content .card,
html.dark-theme body .tab-pane .card {
  background: var(--haze-surface) !important;
  border-color: var(--haze-border) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
}
html.dark-theme body .table {
  --bs-table-bg: var(--haze-surface);
  --bs-table-color: var(--haze-text);
  --bs-table-border-color: var(--haze-border);
  --bs-table-striped-bg: var(--haze-surface-2);
  --bs-table-striped-color: var(--haze-text);
  --bs-table-hover-bg: var(--haze-surface-3);
  --bs-table-hover-color: var(--haze-heading);
  --bs-table-active-bg: var(--haze-primary-soft);
  --bs-table-active-color: var(--haze-heading);
}
html.dark-theme body .table :is(thead th, .table-light th, tr.table-success th, tr.table-info th, tr.table-warning th, tr.table-danger th, tr.table-primary th) {
  color: var(--haze-heading) !important;
  background: var(--haze-surface-2) !important;
  border-color: var(--haze-border) !important;
  border-bottom-color: var(--haze-border-strong) !important;
}
html.dark-theme body .table > :not(caption) > * > * {
  border-bottom-color: var(--haze-border) !important;
  color: inherit;
}
html.dark-theme body .table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: var(--haze-surface-2);
  color: var(--haze-text);
}
html.dark-theme body .table-hover > tbody > tr:hover > * {
  --bs-table-accent-bg: var(--haze-surface-3);
  color: var(--haze-heading);
}
html.dark-theme body :is(.table-success, .table-info, .table-warning, .table-danger, .table-primary, .table-secondary, .table-light, .table-dark) {
  --bs-table-bg: var(--haze-surface-2);
  --bs-table-color: var(--haze-heading);
  --bs-table-border-color: var(--haze-border);
  --bs-table-striped-bg: var(--haze-surface-3);
  --bs-table-striped-color: var(--haze-heading);
  --bs-table-hover-bg: var(--haze-surface-3);
  --bs-table-hover-color: var(--haze-heading);
  color: var(--haze-heading) !important;
  background-color: var(--haze-surface-2) !important;
  border-color: var(--haze-border) !important;
}
html.dark-theme body tbody :is(.table-success, tr.table-success) {
  --bs-table-bg: var(--haze-success-soft);
  --bs-table-color: var(--haze-success);
  color: var(--haze-success) !important;
  background-color: var(--haze-success-soft) !important;
}
html.dark-theme body tbody :is(.table-info, tr.table-info) {
  --bs-table-bg: var(--haze-info-soft);
  --bs-table-color: var(--haze-info);
  color: var(--haze-info) !important;
  background-color: var(--haze-info-soft) !important;
}
html.dark-theme body tbody :is(.table-warning, tr.table-warning) {
  --bs-table-bg: var(--haze-warning-soft);
  --bs-table-color: var(--haze-warning);
  color: var(--haze-warning) !important;
  background-color: var(--haze-warning-soft) !important;
}
html.dark-theme body tbody :is(.table-danger, tr.table-danger) {
  --bs-table-bg: var(--haze-danger-soft);
  --bs-table-color: var(--haze-danger);
  color: var(--haze-danger) !important;
  background-color: var(--haze-danger-soft) !important;
}
html.dark-theme body thead :is(.table-success, .table-info, .table-warning, .table-danger, .table-primary, .table-light, tr.table-success, tr.table-info) {
  --bs-table-bg: var(--haze-surface-2);
  --bs-table-color: var(--haze-heading);
  color: var(--haze-heading) !important;
  background-color: var(--haze-surface-2) !important;
  border-color: var(--haze-border) !important;
}
html.dark-theme body .select2-container--bootstrap-5 :is(.select2-selection__rendered, .select2-selection__placeholder, .select2-search__field) {
  color: var(--haze-text) !important;
}
html.dark-theme body .select2-container--bootstrap-5 .select2-selection__placeholder {
  color: var(--haze-muted) !important;
}
html.dark-theme body .select2-container--bootstrap-5 .select2-dropdown {
  background: var(--haze-surface) !important;
  color: var(--haze-text) !important;
  border-color: var(--haze-border-strong) !important;
}
html.dark-theme body .nav-tabs .nav-link .tab-title {
  color: inherit !important;
}
html.dark-theme body .nav-tabs .nav-link.active .tab-title {
  color: var(--haze-heading) !important;
}
html.dark-theme body :is(.border, .border-top, .border-bottom, .border-start, .border-end) {
  border-color: var(--haze-border) !important;
}
html.dark-theme body :is(.border-primary, .border-success, .border-info, .border-warning, .border-danger) {
  border-color: color-mix(in srgb, currentColor 45%, var(--haze-border)) !important;
}
html.dark-theme body .text-dark {
  color: var(--haze-heading) !important;
}
html.dark-theme body .bg-white {
  background-color: var(--haze-surface) !important;
}
html.dark-theme body .bg-light {
  background-color: var(--haze-surface-2) !important;
}
html.dark-theme body .list-group-item {
  background-color: var(--haze-surface) !important;
  color: var(--haze-text) !important;
  border-color: var(--haze-border) !important;
}
html.dark-theme body .accordion-item,
html.dark-theme body .accordion-button {
  background-color: var(--haze-surface) !important;
  color: var(--haze-heading) !important;
  border-color: var(--haze-border) !important;
}
html.dark-theme body .accordion-button:not(.collapsed) {
  background-color: var(--haze-surface-2) !important;
  color: var(--haze-heading) !important;
  box-shadow: none !important;
}
html.dark-theme body .modal-header,
html.dark-theme body .modal-footer {
  border-color: var(--haze-border) !important;
  background: var(--haze-surface) !important;
  color: var(--haze-text) !important;
}
html.dark-theme body .dropdown-item {
  color: var(--haze-text) !important;
}
html.dark-theme body .dropdown-item:hover,
html.dark-theme body .dropdown-item:focus {
  background: var(--haze-surface-2) !important;
  color: var(--haze-heading) !important;
}
html.dark-theme body .input-group-text {
  background-color: var(--haze-surface-2) !important;
  color: var(--haze-muted) !important;
  border-color: var(--haze-border-strong) !important;
}

/* Light mode: same reconciliation — keep legacy mogav/Bootstrap chrome on haze tokens */
html.light-theme {
  --mogav-bg: var(--haze-bg);
  --mogav-surface: var(--haze-surface);
  --mogav-surface-soft: var(--haze-surface-2);
  --mogav-border: var(--haze-border);
  --mogav-border-strong: var(--haze-border-strong);
  --mogav-text: var(--haze-heading);
  --mogav-muted: var(--haze-muted);
  --mogav-primary: var(--haze-primary);
  --mogav-primary-dark: var(--haze-primary-hover);
  --mogav-primary-soft: var(--haze-primary-soft);
  --mogav-success: var(--haze-success);
  --mogav-warning: var(--haze-warning);
  --mogav-danger: var(--haze-danger);
  --mogav-info: var(--haze-info);
  --bs-secondary-color: var(--haze-muted);
  --bs-tertiary-color: var(--haze-soft);
  --bs-border-color: var(--haze-border);
  --bs-border-color-translucent: var(--haze-border);
}
html.light-theme body :is(.tab-title, .user-info .user-name, .breadcrumb-title) {
  color: var(--haze-heading) !important;
}
html.light-theme body .nav-tabs .nav-link .tab-title {
  color: inherit !important;
}
html.light-theme body .nav-tabs .nav-link.active .tab-title {
  color: var(--haze-heading) !important;
}
html.light-theme body .user-info .designattion,
html.light-theme body .page-footer,
html.light-theme body .page-breadcrumb .breadcrumb li.breadcrumb-item,
html.light-theme body .form-label,
html.light-theme body .form-text,
html.light-theme body .dataTables_wrapper :is(.dataTables_info, .dataTables_length, .dataTables_filter, label) {
  color: var(--haze-muted) !important;
}
html.light-theme body .page-footer {
  background: var(--haze-bg) !important;
  border-top-color: var(--haze-border) !important;
  border-bottom-color: transparent !important;
  color: var(--haze-muted) !important;
}
html.light-theme body .page-breadcrumb,
html.light-theme body #pageBreadcrumb {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html.light-theme body :is(hr, .card-body > hr, .dropdown-divider) {
  border-color: var(--haze-border) !important;
  color: var(--haze-border) !important;
  opacity: 1 !important;
  background-color: transparent !important;
}
html.light-theme body .card .card,
html.light-theme body .tab-content .card,
html.light-theme body .tab-pane .card {
  background: var(--haze-surface) !important;
  border-color: var(--haze-border) !important;
  box-shadow: 0 5px 10px rgba(2,2,76,.02) !important;
}
html.light-theme body :is(.form-control, .form-select, .input-group-text, .select2-container--bootstrap-5 .select2-selection) {
  border-color: var(--haze-border-strong) !important;
  background-color: var(--haze-surface) !important;
}
html.light-theme body :is(.form-control, .form-select, .form-check-input):is(:focus, :focus-visible),
html.light-theme body .select2-container--bootstrap-5:is(.select2-container--focus, .select2-container--open) .select2-selection {
  border-color: var(--haze-primary) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 1px var(--haze-primary-soft) !important;
}
html.light-theme body .select2-container--bootstrap-5 :is(.select2-selection__rendered, .select2-search__field) {
  color: var(--haze-text) !important;
}
html.light-theme body .select2-container--bootstrap-5 .select2-selection__placeholder {
  color: var(--haze-muted) !important;
}
html.light-theme body .table {
  --bs-table-bg: var(--haze-surface);
  --bs-table-color: var(--haze-text);
  --bs-table-border-color: var(--haze-border);
  --bs-table-striped-bg: var(--haze-surface-2);
  --bs-table-striped-color: var(--haze-text);
  --bs-table-hover-bg: var(--haze-surface-3);
  --bs-table-hover-color: var(--haze-heading);
}
html.light-theme body .table :is(thead th, .table-light th, tr.table-success th, tr.table-info th, tr.table-warning th, tr.table-danger th, tr.table-primary th) {
  color: var(--haze-heading) !important;
  background: var(--haze-surface-2) !important;
  border-color: var(--haze-border) !important;
  border-bottom-color: var(--haze-border-strong) !important;
}
html.light-theme body .table > :not(caption) > * > * {
  border-bottom-color: var(--haze-border) !important;
}
html.light-theme body .table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: var(--haze-surface-2);
  color: var(--haze-text);
}
html.light-theme body .table-hover > tbody > tr:hover > * {
  --bs-table-accent-bg: var(--haze-surface-3);
  color: var(--haze-heading);
}
html.light-theme body thead :is(.table-success, .table-info, .table-warning, .table-danger, .table-primary, .table-light, tr.table-success, tr.table-info) {
  --bs-table-bg: var(--haze-surface-2);
  --bs-table-color: var(--haze-heading);
  --bs-table-border-color: var(--haze-border);
  color: var(--haze-heading) !important;
  background-color: var(--haze-surface-2) !important;
  border-color: var(--haze-border) !important;
}
html.light-theme body :is(.border, .border-top, .border-bottom, .border-start, .border-end) {
  border-color: var(--haze-border) !important;
}
html.light-theme body .modal-header,
html.light-theme body .modal-footer {
  border-color: var(--haze-border) !important;
  background: var(--haze-surface) !important;
}
html.light-theme body .input-group-text {
  background-color: var(--haze-surface-2) !important;
  color: var(--haze-muted) !important;
  border-color: var(--haze-border-strong) !important;
}
