/**
 * FFT App — Modern UI theme (CSS variables + layout overrides)
 * Loaded after layout/custom; does not change JS hooks or form IDs.
 */
:root {
  --fft-primary: #2563eb;
  --fft-primary-hover: #1d4ed8;
  --fft-primary-soft: rgba(37, 99, 235, 0.12);
  --fft-accent: #0d9488;
  --fft-accent-soft: rgba(13, 148, 136, 0.12);
  --fft-sidebar-bg: #0b1220;
  --fft-sidebar-hover: #162033;
  --fft-sidebar-active: rgba(59, 130, 246, 0.18);
  --fft-sidebar-text: #a9b4c6;
  --fft-sidebar-text-active: #f8fafc;
  --fft-header-bg: #ffffff;
  --fft-header-border: #e2e8f0;
  --fft-body-bg: #f6f7f9;
  --fft-surface: #ffffff;
  --fft-surface-elevated: #ffffff;
  --fft-border: #e2e8f0;
  --fft-border-strong: #cbd5e1;
  --fft-text: #0f172a;
  --fft-text-muted: #64748b;
  --fft-success: #059669;
  --fft-warning: #d97706;
  --fft-danger: #dc2626;
  --fft-info: #0284c7;
  --fft-radius-sm: 6px;
  --fft-radius: 10px;
  --fft-radius-lg: 14px;
  --fft-shadow-sm: none;
  --fft-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
  --fft-shadow-lg: 0 8px 24px rgba(15, 23, 42, 0.12);
  --fft-font: "Inter", "Roboto", "Poppins", system-ui, -apple-system, sans-serif;
  --fft-transition: 0s;
  --fft-sidebar-width: 248px;
}

/* Typography */
body,
.page-container,
.page-content,
.portlet,
.form-control,
.btn,
.table,
.modal-content {
  font-family: var(--fft-font) !important;
}

body.page-content-white {
  background: var(--fft-body-bg) !important;
}

.page-content {
  background: var(--fft-body-bg) !important;
  padding: 24px !important;
}

.page-content-inner {
  max-width: 100%;
}

/* Pre-loader */
section.wrapper {
  background: var(--fft-sidebar-bg) !important;
  opacity: 1 !important;
}

div.spinner i {
  border-color: var(--fft-primary) !important;
}

/* Header / navbar */
.page-header.navbar {
  background: var(--fft-header-bg) !important;
  border-bottom: 1px solid var(--fft-header-border) !important;
  box-shadow: var(--fft-shadow-sm) !important;
  min-height: 56px !important;
}

.page-header.navbar .page-logo {
  background: transparent !important;
  border-right: none !important;
}

.page-header.navbar .top-menu .navbar-nav > li > a {
  color: var(--fft-text) !important;
  padding: 16px 14px !important;
  transition: background var(--fft-transition), color var(--fft-transition);
}

.page-header.navbar .top-menu .navbar-nav > li > a:hover {
  background: var(--fft-body-bg) !important;
}

.dropdown-user .dropdown-toggle .username {
  color: var(--fft-text) !important;
  font-weight: 500 !important;
}

.dropdown-user .dropdown-menu {
  border-radius: var(--fft-radius) !important;
  border: 1px solid var(--fft-border) !important;
  box-shadow: var(--fft-shadow-lg) !important;
  padding: 6px 0 !important;
}

.dropdown-user .dropdown-menu > li > a {
  padding: 10px 18px !important;
  font-size: 13px !important;
  color: var(--fft-text) !important;
}

.dropdown-user .dropdown-menu > li > a:hover {
  background: var(--fft-primary-soft) !important;
  color: var(--fft-primary) !important;
}

.dropdown-user .img-circle {
  border: 2px solid var(--fft-border) !important;
  width: 32px !important;
  height: 32px !important;
}

.menu-toggler.responsive-toggler,
.page-header .menu-toggler.sidebar-toggler {
  background: var(--fft-body-bg) !important;
  border-radius: var(--fft-radius-sm) !important;
}

/* Sidebar */
.page-sidebar,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover {
  background: var(--fft-sidebar-bg) !important;
  box-shadow: 2px 0 12px rgba(0, 0, 0, 0.15) !important;
}

.page-sidebar .page-sidebar-menu > li > a,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li > a {
  color: var(--fft-sidebar-text) !important;
  border-top: 1px solid transparent !important;
  padding: 11px 16px !important;
  transition: background var(--fft-transition), color var(--fft-transition), padding-left var(--fft-transition);
  border-radius: 0 !important;
}

.page-sidebar .page-sidebar-menu > li > a > i,
.page-sidebar .page-sidebar-menu > li > a > [class*="fa"],
.page-sidebar .page-sidebar-menu > li > a > [class*="icon"] {
  color: var(--fft-sidebar-text) !important;
  width: 22px !important;
  text-align: center;
  margin-right: 10px !important;
  font-size: 15px !important;
  opacity: 0.9;
}

.page-sidebar .page-sidebar-menu > li > a:hover,
.page-sidebar .page-sidebar-menu > li.open > a,
.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li > a:hover {
  background: var(--fft-sidebar-hover) !important;
  color: var(--fft-sidebar-text-active) !important;
}

.page-sidebar .page-sidebar-menu > li.active > a,
.page-sidebar .page-sidebar-menu > li.active.open > a {
  background: var(--fft-sidebar-active) !important;
  color: var(--fft-sidebar-text-active) !important;
  border-left: 3px solid #93c5fd !important;
  padding-left: 13px !important;
}

.page-sidebar .page-sidebar-menu > li.active > a > i,
.page-sidebar .page-sidebar-menu > li.active > a > [class*="fa"] {
  color: #fff !important;
}

.page-sidebar .page-sidebar-menu .sub-menu {
  background: rgba(0, 0, 0, 0.2) !important;
  margin: 0 !important;
}

.page-sidebar .page-sidebar-menu .sub-menu > li > a {
  color: #94a3b8 !important;
  padding: 9px 16px 9px 44px !important;
  font-size: 13px !important;
}

.page-sidebar .page-sidebar-menu .sub-menu > li > a:hover,
.page-sidebar .page-sidebar-menu .sub-menu > li.active > a {
  background: var(--fft-sidebar-hover) !important;
  color: #f1f5f9 !important;
}

.page-sidebar .page-sidebar-menu > li > a > .arrow::before,
.page-sidebar .page-sidebar-menu > li > a > .arrow.open::before {
  color: var(--fft-sidebar-text) !important;
}

.page-sidebar-menu {
  padding-top: 12px !important;
}

/* Portlets / cards */
.portlet {
  border-radius: var(--fft-radius-lg) !important;
  border: 1px solid var(--fft-border) !important;
  box-shadow: var(--fft-shadow-sm) !important;
  background: var(--fft-surface) !important;
  margin-bottom: 24px !important;
  overflow: hidden;
}

.portlet.light {
  background: var(--fft-surface) !important;
}

.portlet > .portlet-title {
  border-bottom: 1px solid var(--fft-border) !important;
  min-height: 48px !important;
  padding: 14px 20px !important;
  background: linear-gradient(180deg, #fafbfc 0%, #fff 100%) !important;
}

.portlet > .portlet-title > .caption {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--fft-text) !important;
}

.portlet > .portlet-title > .caption > .caption-subject {
  color: var(--fft-text) !important;
}

.portlet > .portlet-body {
  padding: 20px !important;
}

.caption-subject,
.font-dark {
  color: var(--fft-accent) !important;
}

h4.caption {
  border-bottom-color: var(--fft-border) !important;
  color: var(--fft-text) !important;
  font-weight: 600 !important;
}

/* Dashboard stat cards */
.dashboard-stat2 {
  border-radius: var(--fft-radius-lg) !important;
  border: 1px solid var(--fft-border) !important;
  box-shadow: var(--fft-shadow-sm) !important;
  background: var(--fft-surface) !important;
  padding: 18px !important;
  transition: transform var(--fft-transition), box-shadow var(--fft-transition);
}

.dashboard-stat2:hover {
  transform: translateY(-2px);
  box-shadow: var(--fft-shadow) !important;
}

.dashboard-stat2 .display .number h3 {
  font-weight: 700 !important;
  font-size: 26px !important;
}

.dashboard-stat2 .display small {
  color: var(--fft-text-muted) !important;
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.dashboard-stat2 .display .icon > i {
  opacity: 0.35;
  font-size: 42px !important;
}

/* Buttons */
.btn {
  border-radius: var(--fft-radius-sm) !important;
  font-weight: 500 !important;
  transition: background var(--fft-transition), border-color var(--fft-transition), box-shadow var(--fft-transition), transform 0.1s ease !important;
  padding: 7px 14px !important;
}

.btn:active {
  transform: scale(0.98);
}

.btn-primary,
.btn.blue:not(.btn-outline) {
  background: var(--fft-primary) !important;
  border-color: var(--fft-primary) !important;
}

.btn-primary:hover,
.btn.blue:not(.btn-outline):hover {
  background: var(--fft-primary-hover) !important;
  border-color: var(--fft-primary-hover) !important;
}

.btn-success,
.btn.green:not(.btn-outline) {
  background: var(--fft-success) !important;
  border-color: var(--fft-success) !important;
}

.btn-danger,
.btn.red:not(.btn-outline) {
  background: var(--fft-danger) !important;
  border-color: var(--fft-danger) !important;
}

.btn-outline,
.btn.btn-outline {
  border-radius: var(--fft-radius-sm) !important;
}

.btn.btn-outline.dark {
  border-color: var(--fft-border-strong) !important;
  color: var(--fft-text) !important;
}

.btn.btn-outline.dark:hover {
  background: var(--fft-body-bg) !important;
}

/* Forms */
.form-control,
select.form-control,
.bootstrap-select .dropdown-toggle {
  border-radius: var(--fft-radius-sm) !important;
  border: 1px solid var(--fft-border-strong) !important;
  box-shadow: none !important;
  transition: border-color var(--fft-transition), box-shadow var(--fft-transition) !important;
  color: var(--fft-text) !important;
  background: #fff !important;
}

.form-control:focus,
select.form-control:focus {
  border-color: var(--fft-primary) !important;
  box-shadow: 0 0 0 3px var(--fft-primary-soft) !important;
}

label.control-label,
.form-group > label {
  color: var(--fft-text) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
}

.input-group-addon {
  border-radius: var(--fft-radius-sm) 0 0 var(--fft-radius-sm) !important;
  background: var(--fft-body-bg) !important;
  border-color: var(--fft-border-strong) !important;
}

/* Tables / DataTables */
.table,
table.dataTable {
  border-collapse: separate !important;
  border-spacing: 0;
}

.table thead th,
table.dataTable thead th {
  background: var(--fft-body-bg) !important;
  color: var(--fft-text) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border-bottom: 2px solid var(--fft-border) !important;
  padding: 12px !important;
}

.table tbody td,
table.dataTable tbody td {
  padding: 11px 12px !important;
  border-color: var(--fft-border) !important;
  vertical-align: middle !important;
  color: var(--fft-text) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) {
  background: #f8fafc !important;
}

.table-hover > tbody > tr:hover {
  background: var(--fft-primary-soft) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: var(--fft-primary) !important;
  border-color: var(--fft-primary) !important;
  color: #fff !important;
  border-radius: var(--fft-radius-sm) !important;
}

/* Alerts / notes */
.alert {
  border-radius: var(--fft-radius) !important;
  border: none !important;
  box-shadow: var(--fft-shadow-sm) !important;
}

.note {
  border-radius: var(--fft-radius) !important;
}

.note.note-info {
  background: rgba(2, 132, 199, 0.08) !important;
  border-left: 4px solid var(--fft-info) !important;
}

.note.note-success {
  background: rgba(5, 150, 105, 0.08) !important;
  border-left: 4px solid var(--fft-success) !important;
}

.note.note-warning,
.note.note-warning {
  background: rgba(217, 119, 6, 0.08) !important;
  border-left: 4px solid var(--fft-warning) !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
}

.note.note-danger {
  background: rgba(220, 38, 38, 0.08) !important;
  border-left: 4px solid var(--fft-danger) !important;
}

/* Badges / labels */
.badge,
.label {
  border-radius: 999px !important;
  font-weight: 500 !important;
  padding: 4px 10px !important;
}

/* Modals */
.modal-content {
  border-radius: var(--fft-radius-lg) !important;
  border: 1px solid var(--fft-border) !important;
  box-shadow: var(--fft-shadow-lg) !important;
}

.modal-header {
  border-bottom: 1px solid var(--fft-border) !important;
  padding: 16px 20px !important;
  background: var(--fft-body-bg) !important;
  border-radius: var(--fft-radius-lg) var(--fft-radius-lg) 0 0 !important;
}

.modal-title {
  font-weight: 600 !important;
  color: var(--fft-text) !important;
}

.modal-body {
  padding: 20px !important;
}

.modal-footer {
  border-top: 1px solid var(--fft-border) !important;
  padding: 14px 20px !important;
  background: #fafbfc !important;
}

/* Footer */
.page-footer {
  background: var(--fft-surface) !important;
  border-top: 1px solid var(--fft-border) !important;
  color: var(--fft-text-muted) !important;
}

.page-footer .scroll-to-top {
  background: var(--fft-primary) !important;
  border-radius: var(--fft-radius-sm) !important;
}

.page-footer .scroll-to-top > i {
  color: #fff !important;
}

/* Tabs */
.nav-tabs > li > a {
  border-radius: var(--fft-radius-sm) var(--fft-radius-sm) 0 0 !important;
  color: var(--fft-text-muted) !important;
  font-weight: 500 !important;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:focus,
.nav-tabs > li.active > a:hover {
  color: var(--fft-primary) !important;
  border-top: 2px solid var(--fft-primary) !important;
}

/* Login page */
body.login {
  background: linear-gradient(145deg, #0f172a 0%, #1e3a5f 45%, #0d9488 100%) !important;
  font-family: var(--fft-font) !important;
}

body.login::before {
  opacity: 0.15 !important;
}

body.login .login-form {
  background: rgba(255, 255, 255, 0.97) !important;
  border-radius: var(--fft-radius-lg) !important;
  box-shadow: var(--fft-shadow-lg) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  backdrop-filter: blur(8px);
}

body.login .login-form::before {
  background: linear-gradient(90deg, var(--fft-primary), var(--fft-accent)) !important;
  height: 3px !important;
}

body.login .lf--label {
  background: var(--fft-body-bg) !important;
  border-radius: var(--fft-radius-sm) 0 0 var(--fft-radius-sm) !important;
}

body.login .lf--input {
  border-radius: 0 var(--fft-radius-sm) var(--fft-radius-sm) 0 !important;
  border: 1px solid var(--fft-border) !important;
  border-left: none !important;
}

body.login .lf--input:focus {
  transform: none !important;
  border-color: var(--fft-primary) !important;
  box-shadow: 0 0 0 3px var(--fft-primary-soft) !important;
}

body.login .lf--submit {
  background: linear-gradient(135deg, var(--fft-primary), var(--fft-accent)) !important;
  border: none !important;
  border-radius: var(--fft-radius-sm) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  transition: opacity var(--fft-transition), transform 0.1s ease !important;
}

body.login .lf--submit:hover {
  opacity: 0.92;
}

body.login .form-title img {
  max-width: 200px;
  height: auto;
  margin-bottom: 8px;
}

/* Error pages */
body.page-500-full-page {
  background: linear-gradient(145deg, #0f172a, #334155) !important;
  font-family: var(--fft-font) !important;
}

.page-500 .number {
  color: #fff !important;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

.page-500 .details h3,
.page-500 .details p {
  color: #e2e8f0 !important;
}

/* Select2 / bootstrap-select polish */
.select2-container--bootstrap .select2-selection,
.bootstrap-select .dropdown-toggle {
  border-radius: var(--fft-radius-sm) !important;
}

/* Empty / loading helpers */
.dataTables_empty {
  color: var(--fft-text-muted) !important;
  padding: 32px !important;
  font-style: italic;
}

/* Responsive */
@media (max-width: 991px) {
  .page-content {
    padding: 16px !important;
  }

  .page-sidebar {
    box-shadow: var(--fft-shadow-lg) !important;
  }

  .dashboard-stat2 {
    margin-bottom: 12px;
  }
}

@media (max-width: 767px) {
  body.login .login-form {
    width: 92% !important;
    margin: 0 auto;
    padding: 1.5em !important;
  }

  .portlet > .portlet-body {
    padding: 14px !important;
  }
}

/* Focus visibility */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.form-control:focus-visible {
  outline: 2px solid var(--fft-primary);
  outline-offset: 2px;
}

/* Utility: subtle page title area */
.page-bar {
  background: transparent !important;
  margin-bottom: 16px !important;
}

.page-bar .page-breadcrumb > li > a,
.page-bar .page-breadcrumb > li > span {
  color: var(--fft-text-muted) !important;
}

.page-bar .page-breadcrumb > li > a:hover {
  color: var(--fft-primary) !important;
}

/* Hidden SVG sprite */
.fft-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

/* Inline / sprite icons */
.fft-icon,
.fft-nav-icon {
  display: inline-block;
  vertical-align: middle;
  fill: currentColor;
  flex-shrink: 0;
}

.fft-nav-icon {
  width: 18px;
  height: 18px;
  margin-right: 10px;
  opacity: 0.92;
  color: var(--fft-sidebar-text);
}

.page-sidebar .page-sidebar-menu > li.active > a .fft-nav-icon,
.page-sidebar .page-sidebar-menu > li > a:hover .fft-nav-icon {
  color: var(--fft-sidebar-text-active);
}

.fft-icon--sm {
  width: 14px;
  height: 14px;
  margin-right: 6px;
}

.fft-icon--spin {
  animation: fft-spin 0.8s linear infinite;
}

@keyframes fft-spin {
  to {
    transform: rotate(360deg);
  }
}

.dropdown-user .dropdown-toggle .fft-icon {
  margin-left: 4px;
  color: var(--fft-text-muted);
}

.dropdown-user .dropdown-menu a .fft-icon {
  color: var(--fft-danger);
}

/* Sidebar section labels */
.sidebar-section-label {
  list-style: none;
  margin: 16px 16px 6px;
  padding: 0;
  pointer-events: none;
}

.sidebar-section-label span {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
}

.page-sidebar-closed .sidebar-section-label {
  display: none;
}

/* Navbar user area */
.top-menu .dropdown-user .dropdown-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px !important;
  border-radius: var(--fft-radius);
}

.top-menu .dropdown-user .dropdown-menu > li:first-child {
  border-bottom: 1px solid var(--fft-border);
  margin-bottom: 4px;
  padding-bottom: 4px;
}

/* Mobile sidebar toggler */
@media (max-width: 991px) {
  .menu-toggler.responsive-toggler {
    width: 40px;
    height: 40px;
    margin: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--fft-border);
  }

  .menu-toggler.responsive-toggler span,
  .page-header .menu-toggler.sidebar-toggler span {
    display: block;
    width: 18px;
    height: 2px;
    background: var(--fft-text);
    position: relative;
    margin: 0 auto;
  }

  .menu-toggler.responsive-toggler span::before,
  .menu-toggler.responsive-toggler span::after {
    content: "";
    position: absolute;
    left: 0;
    width: 18px;
    height: 2px;
    background: var(--fft-text);
  }

  .menu-toggler.responsive-toggler span::before {
    top: -6px;
  }

  .menu-toggler.responsive-toggler span::after {
    top: 6px;
  }

  .page-sidebar .page-sidebar-menu > li > a {
    padding: 12px 18px !important;
  }
}

/* Dashboard stat SVG icons */
.dashboard-stat2 .icon .fft-stat-icon {
  width: 48px;
  height: 48px;
  opacity: 0.35;
  fill: currentColor;
}

.dashboard-stat2 .icon i[class*="icon-"] {
  display: none;
}

.dashboard-stat2 .display .number h3 {
  font-variant-numeric: tabular-nums;
}

/* Progress / loading bars */
.progress {
  border-radius: 999px !important;
  height: 8px !important;
  background: var(--fft-body-bg) !important;
  box-shadow: none !important;
}

.progress-bar {
  border-radius: 999px !important;
  background: var(--fft-primary) !important;
}

.block-spinner-bar > div,
.page-spinner-bar > div {
  background: var(--fft-primary) !important;
}

/* SweetAlert / Toastr alignment */
.sweet-alert,
#toast-container > div {
  border-radius: var(--fft-radius) !important;
  font-family: var(--fft-font) !important;
}

/* Error page CTA */
.page-500 .btn-primary.btn-outline {
  border: 2px solid #fff !important;
  color: #fff !important;
  background: transparent !important;
  padding: 10px 24px !important;
  margin-top: 12px;
}

.page-500 .btn-primary.btn-outline:hover {
  background: #fff !important;
  color: var(--fft-sidebar-bg) !important;
}

/* Sub-menu active dot */
.page-sidebar .page-sidebar-menu .sub-menu > li.active > a::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #93c5fd;
  margin-right: 8px;
  vertical-align: middle;
}

/* --------------------------------------------------------------------------
 * Simplified application shell
 * ----------------------------------------------------------------------- */

/* No decorative motion. Loading states remain visible but static. */
.fft-modern-shell *,
.fft-modern-shell *::before,
.fft-modern-shell *::after {
  animation-duration: 0s !important;
  animation-delay: 0s !important;
  transition-duration: 0s !important;
  scroll-behavior: auto !important;
}

.fft-modern-shell section.wrapper {
  display: none !important;
}

.fft-modern-shell .page-wrapper {
  display: block !important;
}

/* Header */
.fft-modern-shell .page-header.navbar {
  height: 56px !important;
  min-height: 56px !important;
  box-shadow: none !important;
  border-bottom: 1px solid var(--fft-border) !important;
}

.fft-modern-shell .page-container {
  margin-top: 56px !important;
}

.fft-modern-shell .page-header.navbar .page-logo {
  width: var(--fft-sidebar-width) !important;
  height: 56px !important;
  padding: 0 14px !important;
  border-right: 1px solid var(--fft-border) !important;
  display: flex !important;
  align-items: center !important;
}

.fft-modern-shell .page-header.navbar .page-logo > a {
  display: flex !important;
  align-items: center !important;
  min-width: 0;
}

.fft-modern-shell .page-header.navbar .page-logo .logo-default {
  width: 142px !important;
  height: auto !important;
  max-height: 34px !important;
  margin: 0 !important;
  object-fit: contain;
}

.fft-modern-shell .page-header.navbar .top-menu .navbar-nav > li > a,
.fft-modern-shell .top-menu .dropdown-user .dropdown-toggle {
  min-height: 55px !important;
  border-radius: 0 !important;
  padding: 11px 18px !important;
}

.fft-modern-shell .page-header.navbar .top-menu .navbar-nav > li > a:hover,
.fft-modern-shell .page-header.navbar .top-menu .navbar-nav > li.open > a {
  background: #f8fafc !important;
}

.fft-modern-shell .dropdown-user .img-circle {
  width: 30px !important;
  height: 30px !important;
  border: 1px solid var(--fft-border-strong) !important;
}

.fft-modern-shell .dropdown-user .dropdown-menu {
  margin-top: 6px !important;
  border-radius: 8px !important;
}

/* Sidebar */
.fft-modern-shell .page-sidebar,
.fft-modern-shell.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover {
  width: var(--fft-sidebar-width) !important;
  background: var(--fft-sidebar-bg) !important;
  box-shadow: none !important;
}

.fft-modern-shell .page-sidebar-menu {
  padding: 10px 10px 24px !important;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu > li {
  margin: 2px 0 !important;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu > li > a,
.fft-modern-shell.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li > a {
  min-height: 42px;
  padding: 10px 12px !important;
  border: 0 !important;
  border-radius: 7px !important;
  display: flex !important;
  align-items: center !important;
  color: var(--fft-sidebar-text) !important;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu > li > a:hover,
.fft-modern-shell .page-sidebar .page-sidebar-menu > li.open > a {
  background: var(--fft-sidebar-hover) !important;
  color: #f8fafc !important;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu > li.active > a,
.fft-modern-shell .page-sidebar .page-sidebar-menu > li.active.open > a {
  background: var(--fft-sidebar-active) !important;
  color: #ffffff !important;
  border: 0 !important;
  box-shadow: inset 3px 0 0 #60a5fa !important;
  padding-left: 12px !important;
}

.fft-modern-shell .fft-nav-icon {
  width: 17px;
  height: 17px;
  margin-right: 11px;
  opacity: 1;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu > li > a .title {
  flex: 1;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35;
}

.fft-modern-shell .sidebar-section-label {
  margin: 18px 10px 7px !important;
}

.fft-modern-shell .sidebar-section-label span {
  color: #788398 !important;
  font-size: 9px !important;
  letter-spacing: 0.1em !important;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu .sub-menu {
  margin: 3px 0 7px !important;
  padding: 4px 0 !important;
  background: #0d1422 !important;
  border-radius: 7px !important;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu .sub-menu > li > a {
  min-height: 34px;
  padding: 8px 12px 8px 39px !important;
  color: #9da8ba !important;
  font-size: 12.5px !important;
  border-radius: 6px !important;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu .sub-menu > li > a:hover,
.fft-modern-shell .page-sidebar .page-sidebar-menu .sub-menu > li.active > a {
  background: #1b2535 !important;
  color: #ffffff !important;
}

/* Main content */
.fft-modern-shell .page-content {
  background: var(--fft-body-bg) !important;
  padding: 20px !important;
}

.fft-modern-shell .page-content-inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}

.fft-modern-shell .portlet,
.fft-modern-shell .dashboard-stat2,
.fft-modern-shell .panel,
.fft-modern-shell .well {
  border: 1px solid var(--fft-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.fft-modern-shell .portlet {
  margin-bottom: 18px !important;
}

.fft-modern-shell .portlet > .portlet-title {
  min-height: 46px !important;
  padding: 12px 16px !important;
  background: #ffffff !important;
  border-bottom: 1px solid var(--fft-border) !important;
}

.fft-modern-shell .portlet > .portlet-title > .caption {
  font-size: 14px !important;
  font-weight: 600 !important;
}

.fft-modern-shell .portlet > .portlet-body {
  padding: 16px !important;
}

.fft-modern-shell .dashboard-stat2:hover,
.fft-modern-shell .btn:active {
  transform: none !important;
  box-shadow: none !important;
}

.fft-modern-shell .table thead th,
.fft-modern-shell table.dataTable thead th {
  background: #f8fafc !important;
  color: #475569 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border-bottom-width: 1px !important;
}

.fft-modern-shell .table-hover > tbody > tr:hover {
  background: #f8fafc !important;
}

.fft-modern-shell .btn {
  border-radius: 6px !important;
  box-shadow: none !important;
}

.fft-modern-shell .form-control,
.fft-modern-shell select.form-control,
.fft-modern-shell .bootstrap-select .dropdown-toggle {
  border-radius: 6px !important;
}

.fft-modern-shell .page-footer {
  background: var(--fft-body-bg) !important;
  color: var(--fft-text-muted) !important;
  border-top: 1px solid var(--fft-border) !important;
}

@media (min-width: 992px) {
  .fft-modern-shell .page-content-wrapper .page-content {
    margin-left: var(--fft-sidebar-width) !important;
  }

  .fft-modern-shell.page-sidebar-closed .page-content-wrapper .page-content {
    margin-left: 54px !important;
  }
}

@media (max-width: 991px) {
  .fft-modern-shell .page-header.navbar .page-logo {
    width: auto !important;
    border-right: 0 !important;
  }

  .fft-modern-shell .page-sidebar {
    width: 100% !important;
  }

  .fft-modern-shell .page-content {
    padding: 14px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fft-modern-shell *,
  .fft-modern-shell *::before,
  .fft-modern-shell *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* Modern sidebar v2: pill navigation, clear hierarchy and stable chevrons. */
.fft-modern-shell .page-sidebar {
  border-right: 1px solid #1b2638 !important;
}

.fft-modern-shell .page-sidebar-menu {
  padding: 12px 12px 28px !important;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu > li > a,
.fft-modern-shell.page-sidebar-closed.page-sidebar-fixed .page-sidebar:hover .page-sidebar-menu > li > a {
  min-height: 44px;
  padding: 8px 10px !important;
  border-radius: 9px !important;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu > li > a .fft-nav-icon {
  width: 28px;
  height: 28px;
  padding: 5px;
  margin-right: 10px;
  border-radius: 7px;
  color: #aeb9ca;
  background: rgba(255, 255, 255, 0.045);
}

.fft-modern-shell .page-sidebar .page-sidebar-menu > li > a:hover .fft-nav-icon,
.fft-modern-shell .page-sidebar .page-sidebar-menu > li.open > a .fft-nav-icon {
  color: #dbeafe;
  background: rgba(96, 165, 250, 0.11);
}

.fft-modern-shell .page-sidebar .page-sidebar-menu > li.active > a,
.fft-modern-shell .page-sidebar .page-sidebar-menu > li.active.open > a {
  background: var(--fft-sidebar-active) !important;
  color: #eff6ff !important;
  box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.22) !important;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu > li.active > a .fft-nav-icon,
.fft-modern-shell .page-sidebar .page-sidebar-menu > li.active.open > a .fft-nav-icon {
  color: #bfdbfe !important;
  background: rgba(59, 130, 246, 0.22) !important;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu li > a > .arrow {
  position: static !important;
  width: 8px !important;
  height: 8px !important;
  margin: 0 3px 0 auto !important;
  border-right: 1.5px solid #77859a !important;
  border-bottom: 1.5px solid #77859a !important;
  transform: rotate(45deg) !important;
  flex: 0 0 8px;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu li.open > a > .arrow,
.fft-modern-shell .page-sidebar .page-sidebar-menu li > a > .arrow.open {
  transform: rotate(225deg) !important;
  margin-top: 4px !important;
  border-color: #bfdbfe !important;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu li > a > .arrow::before,
.fft-modern-shell .page-sidebar .page-sidebar-menu li > a > .arrow::after {
  display: none !important;
  content: none !important;
}

.fft-modern-shell .sidebar-section-label {
  margin: 20px 10px 8px !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(148, 163, 184, 0.12);
}

.fft-modern-shell .sidebar-section-label:first-of-type {
  border-top: 0;
  padding-top: 0 !important;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu .sub-menu {
  position: relative;
  margin: 5px 0 9px 18px !important;
  padding: 2px 0 2px 12px !important;
  background: transparent !important;
  border-radius: 0 !important;
  border-left: 1px solid #29364a;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu .sub-menu > li > a {
  min-height: 34px;
  padding: 8px 10px !important;
  color: #98a5b8 !important;
  border-radius: 7px !important;
  line-height: 1.35;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu .sub-menu > li > a:hover {
  background: rgba(148, 163, 184, 0.08) !important;
  color: #f1f5f9 !important;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu .sub-menu > li.active > a {
  background: rgba(59, 130, 246, 0.12) !important;
  color: #bfdbfe !important;
  font-weight: 600 !important;
}

.fft-modern-shell .page-sidebar .page-sidebar-menu .sub-menu > li.active > a::before {
  width: 5px;
  height: 5px;
  margin-right: 7px;
  background: #60a5fa;
}

.fft-modern-shell .page-sidebar-menu::-webkit-scrollbar {
  width: 6px;
}

.fft-modern-shell .page-sidebar-menu::-webkit-scrollbar-thumb {
  background: #2b384c;
  border-radius: 999px;
}

.fft-modern-shell .page-sidebar-menu::-webkit-scrollbar-track {
  background: transparent;
}
