:root {
   --sp-body-text: #172033;
   --sp-primary-color: #ffffff;
   --black: #172033;
   --muted: #6b7280;

   --bs-body-bg: #f4f7fb;
   --bs-header-bg: #ffffff;

   --sp-primary-bg: #2e6deb;
   --sp-widget-bg: rgba(46,109,235,.10);
   --sp-primary-color-hover: #1e56c9;

   --bs-link-color-rgb: 46,109,235;
   --bs-link-color: #2e6deb;
   --bs-link-hover-color-rgb: 30,86,201;

   --bs-border-color: #e3e8f0;
   --bs-light-rgb: 244,247,251;
   --bs-white: #ffffff;
}

:root .card {
   background-color: #ffffff;
}

.border {
   border-color: #e3e8f0 !important;
}

.page-sidebar {
   border-color: #e3e8f0;
}

.badge {
   --bs-badge-color: #ffffff;
}


/* =========================================================
   AIR BELGIUM VA - OPERATIONS UI
   ========================================================= */

.abb-topbar {
   min-height: 68px;
   background: #ffffff !important;
   border-color: #e3e8f0 !important;
}

.abb-brand {
   min-height: 68px;
}

.abb-brand-mark {
   width: 42px;
   height: 42px;
   display: flex;
   align-items: center;
   justify-content: center;
   background: #0b1f3a;
   color: #ffffff;
   border-radius: 10px;
   font-size: 14px;
   font-weight: 800;
   letter-spacing: .06em;
   position: relative;
   overflow: hidden;
}

.abb-brand-mark::after {
   content: "";
   position: absolute;
   bottom: 0;
   left: 0;
   width: 100%;
   height: 4px;
   background: #d22630;
}

.abb-brand-name {
   color: #0b1f3a;
   font-size: 14px;
   font-weight: 800;
   line-height: 1.15;
   letter-spacing: .06em;
}

.abb-brand-subtitle {
   margin-top: 3px;
   color: #6b7280;
   font-size: 9px;
   font-weight: 600;
   letter-spacing: .14em;
}

.abb-pilot-status {
   align-items: center;
   padding-left: 22px;
   border-left: 1px solid #e3e8f0;
   color: #526071;
   font-size: 11px;
}

.abb-pilot-status strong {
   color: #172033;
   font-weight: 700;
}

.abb-status-label {
   margin-right: 6px;
   color: #6b7280;
   font-size: 9px;
   font-weight: 700;
   letter-spacing: .12em;
}

.abb-status-separator {
   margin: 0 6px;
   color: #cbd5e1;
}

.abb-status-dot {
   width: 8px;
   height: 8px;
   margin-right: 8px;
   border-radius: 50%;
   background: #10b981;
   box-shadow: 0 0 0 4px rgba(16,185,129,.10);
}

.abb-dispatch-btn {
   min-height: 36px;
   padding: 0 16px;
   justify-content: center;
   border: 1px solid #2e6deb;
   border-radius: 7px;
   background: #2e6deb;
   color: #ffffff !important;
   font-size: 10px;
   font-weight: 700;
   letter-spacing: .08em;
   text-decoration: none;
}

.abb-dispatch-btn:hover {
   border-color: #1e56c9;
   background: #1e56c9;
}

.abb-header-icon {
   width: 38px;
   height: 38px;
   margin: 0 1px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 8px;
   color: #64748b !important;
   text-decoration: none;
   transition: .15s ease;
}

.abb-header-icon:hover {
   background: #eef3fa;
   color: #2e6deb !important;
}

.abb-online-count {
   position: absolute;
   top: 1px;
   right: 0;
   min-width: 16px;
   height: 16px;
   padding: 0 4px;
   display: flex;
   align-items: center;
   justify-content: center;
   border: 2px solid #ffffff;
   border-radius: 20px;
   background: #10b981;
   color: #ffffff;
   font-size: 8px;
   font-weight: 700;
}

.abb-profile {
   min-height: 48px;
   padding: 4px 8px;
   display: flex;
   align-items: center;
   border-radius: 9px;
   color: #172033 !important;
   text-decoration: none;
}

.abb-profile:hover {
   background: #eef3fa;
}

.abb-profile img {
   width: 34px;
   height: 34px;
   object-fit: cover;
}

.abb-profile-info {
   margin-left: 9px;
   line-height: 1.15;
}

.abb-profile-info strong {
   max-width: 120px;
   display: block;
   overflow: hidden;
   color: #172033;
   font-size: 11px;
   font-weight: 700;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.abb-profile-info span {
   margin-top: 3px;
   display: block;
   color: #6b7280;
   font-size: 9px;
}

.abb-profile.dropdown-toggle::after {
   display: none;
}

.abb-topbar .dropdown-menu {
   border: 1px solid #e3e8f0;
   border-radius: 9px;
   box-shadow: 0 10px 30px rgba(15,23,42,.10);
}

.abb-topbar .dropdown-menu li a {
   padding: 8px 14px;
   display: block;
   color: #334155;
   text-decoration: none;
}

.abb-topbar .dropdown-menu li a:hover {
   background: #eef3fa;
   color: #2e6deb;
}

@media (max-width: 991.98px) {
   .abb-topbar {
      min-height: 60px;
   }

   .abb-brand {
      min-height: 60px;
   }

   .abb-brand-mark {
      width: 36px;
      height: 36px;
      border-radius: 8px;
   }
}


/* =========================================================
   AIR BELGIUM VA - HEADER GEOMETRY FIX
   ========================================================= */

.page-header {
   height: 77px !important;
   min-height: 77px !important;
   padding: 0 18px !important;
   left: 240px;
   background: #ffffff !important;
   border-bottom: 1px solid #e3e8f0 !important;
}

.page-header .navbar,
.page-header .navbar > .container-fluid,
.page-header .navbar-collapse {
   height: 76px !important;
   min-height: 76px !important;
}

.page-header .navbar {
   padding: 0 !important;
   background: #ffffff !important;
}

.page-header .navbar-collapse {
   align-items: center !important;
}

.abb-topbar {
   width: 100%;
   height: 76px !important;
   min-height: 76px !important;
   padding: 0 !important;
   border: 0 !important;
}

.abb-topbar > .container-fluid {
   height: 76px !important;
   min-height: 76px !important;
   display: flex;
   align-items: center;
}

.abb-brand {
   height: 76px !important;
   min-height: 76px !important;
   display: flex;
   align-items: center;
   flex-shrink: 0;
}

.abb-brand-mark {
   width: 44px !important;
   height: 44px !important;
   min-width: 44px !important;
   min-height: 44px !important;
}

.abb-brand-name {
   font-size: 15px !important;
   line-height: 1.1 !important;
}

.abb-brand-subtitle {
   font-size: 9px !important;
   line-height: 1.1 !important;
}

.abb-pilot-status {
   height: 40px;
   display: flex;
   align-items: center;
}

.abb-dispatch-btn {
   height: 38px !important;
   min-height: 38px !important;
   padding: 0 17px !important;
   white-space: nowrap;
}

/* Header actions */
.abb-topbar .header-item {
   height: 76px !important;
   min-height: 76px !important;
   display: flex;
   align-items: center;
}

.abb-header-icon {
   width: 38px !important;
   height: 38px !important;
   min-width: 38px !important;
   min-height: 38px !important;
   padding: 0 !important;
}

/* Pilot profile */
.abb-profile {
   height: 50px !important;
   min-height: 50px !important;
   max-height: 50px !important;
   padding: 5px 8px !important;
   display: flex !important;
   align-items: center !important;
   overflow: hidden;
}

.abb-profile img,
.abb-profile .rounded-circle {
   width: 36px !important;
   height: 36px !important;
   min-width: 36px !important;
   min-height: 36px !important;
   max-width: 36px !important;
   max-height: 36px !important;
   object-fit: cover !important;
   display: block !important;
}

.abb-profile-info {
   max-width: 145px;
   overflow: hidden;
}

.abb-profile-info strong,
.abb-profile-info span {
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

/* Main content starts immediately below ABB header */
.page-inner {
   padding-top: calc(77px + 1.25rem) !important;
}

/* Keep sidebar aligned with header */
.page-sidebar .logo-box {
   height: 77px !important;
   min-height: 77px !important;
   padding: 20px 16px !important;
   display: flex;
   align-items: center;
   justify-content: center;
}

/* Collapsed mode */
.page-sidebar-collapsed .page-header {
   left: 60px !important;
   width: calc(100% - 60px) !important;
}

/* Mobile */
@media (max-width: 991px) {
   .page-header {
      left: 0 !important;
      width: 100% !important;
      height: auto !important;
      min-height: 60px !important;
      padding: 0 10px !important;
   }

   .page-header .navbar,
   .page-header .navbar > .container-fluid,
   .page-header .navbar-collapse,
   .abb-topbar,
   .abb-topbar > .container-fluid {
      height: auto !important;
      min-height: 60px !important;
   }

   .abb-brand {
      height: 60px !important;
      min-height: 60px !important;
   }

   .abb-topbar .header-item {
      height: 60px !important;
      min-height: 60px !important;
   }

   .page-inner {
      padding-top: calc(60px + 1rem) !important;
   }
}

/* ABB - definitive pilot avatar fix */
.page-header .abb-topbar .user-dropdown .abb-profile {
   width: auto !important;
   height: 48px !important;
   min-height: 48px !important;
   max-height: 48px !important;
   padding: 6px 8px !important;
   overflow: hidden !important;
   display: flex !important;
   align-items: center !important;
}

.page-header .abb-topbar .user-dropdown .abb-profile > img,
.page-header .abb-topbar .abb-profile img.rounded-circle {
   width: 34px !important;
   height: 34px !important;
   min-width: 34px !important;
   min-height: 34px !important;
   max-width: 34px !important;
   max-height: 34px !important;
   margin: 0 !important;
   padding: 0 !important;
   object-fit: cover !important;
   object-position: center !important;
   display: block !important;
   flex: 0 0 34px !important;
}

.page-header .abb-topbar .user-dropdown {
   height: 76px !important;
   max-height: 76px !important;
   display: flex !important;
   align-items: center !important;
   overflow: visible !important;
}

/* ABB pilot initials avatar */
.abb-profile-avatar {
   width: 34px;
   height: 34px;
   min-width: 34px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   background: #0b1f3a;
   color: #ffffff;
   font-size: 12px;
   font-weight: 800;
   letter-spacing: .04em;
   border: 2px solid #e3e8f0;
}


/* =========================================================
   AIR BELGIUM VA - SIDEBAR
   ========================================================= */

.abb-sidebar-brand {
   text-align: left !important;
   text-transform: none !important;
}

.abb-sidebar-brand-inner {
   width: 100%;
   display: flex;
   align-items: center;
}

.abb-sidebar-mark {
   width: 36px;
   height: 36px;
   min-width: 36px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 8px;
   background: #0b1f3a;
   color: #ffffff;
   font-size: 11px;
   font-weight: 800;
   letter-spacing: .06em;
   border-bottom: 3px solid #d22630;
}

.abb-sidebar-brand-text {
   margin-left: 10px;
   display: flex;
   flex-direction: column;
   line-height: 1.1;
}

.abb-sidebar-brand-text strong {
   color: #0b1f3a;
   font-size: 11px;
   font-weight: 800;
   letter-spacing: .05em;
}

.abb-sidebar-brand-text small {
   margin-top: 4px;
   color: #6b7280;
   font-size: 8px;
   font-weight: 600;
   letter-spacing: .08em;
}

.page-sidebar-menu .nav-label {
   margin-top: 12px;
   color: #94a3b8 !important;
   font-size: 9px !important;
   font-weight: 800 !important;
   letter-spacing: .11em;
}

.page-sidebar-menu ul li a {
   border-radius: 7px;
}

.page-sidebar-menu ul li a:hover {
   background: #eef3fa;
}

.page-sidebar-menu ul li.active-page > a {
   background: rgba(46,109,235,.10) !important;
   color: #2e6deb !important;
   font-weight: 700;
}

.abb-sidebar-footer {
   border-top: 1px solid #e3e8f0;
   background: #ffffff;
}

.abb-sidebar-footer-status {
   display: flex;
   align-items: center;
   color: #64748b;
   font-size: 8px;
   font-weight: 700;
   letter-spacing: .09em;
}

.abb-sidebar-version {
   margin-top: 6px;
   color: #94a3b8;
   font-size: 8px;
}

/* =========================================================
   ABB SIDEBAR - POLISH
   ========================================================= */

.page-sidebar {
   background: #ffffff !important;
}

.abb-sidebar-brand {
   padding: 14px 14px !important;
   justify-content: flex-start !important;
}

.abb-sidebar-brand-inner {
   gap: 10px;
}

.abb-sidebar-mark {
   width: 34px;
   height: 34px;
   min-width: 34px;
   border-radius: 7px;
   font-size: 10px;
}

.abb-sidebar-brand-text strong {
   font-size: 10px !important;
   letter-spacing: .07em;
}

.abb-sidebar-brand-text small {
   font-size: 7px !important;
   letter-spacing: .09em;
}

.page-sidebar-menu {
   padding: 4px 10px 12px 10px;
}

.page-sidebar-menu .nav-label {
   margin: 14px 6px 6px 6px !important;
   padding: 0 !important;
   font-size: 8px !important;
   letter-spacing: .13em !important;
}

.page-sidebar-menu ul li a {
   min-height: 34px;
   padding: 8px 10px !important;
   margin-bottom: 2px;
   display: flex;
   align-items: center;
   font-size: 10px !important;
   border-radius: 7px;
}

.page-sidebar-menu ul li a i {
   width: 20px;
   min-width: 20px;
}

.page-sidebar-menu ul li a span {
   line-height: 1.2;
}

.page-sidebar-menu ul li.active-page > a {
   box-shadow: inset 3px 0 0 #2e6deb;
}

.page-sidebar-menu .sub-menu {
   margin-top: 3px;
   padding-left: 8px !important;
}

.page-sidebar-menu .sub-menu .sub-menu-item a {
   min-height: 30px;
   padding: 6px 10px 6px 16px !important;
   font-size: 9px !important;
   color: #64748b;
}

.abb-sidebar-footer {
   margin-top: 8px;
}

.abb-sidebar-footer-status {
   justify-content: center;
   font-size: 7px;
}


/* =========================================================
   AIR BELGIUM VA - DASHBOARD V2
   ========================================================= */

.abb-dashboard {
   max-width: 1800px;
   margin: 0 auto;
}

.abb-hero {
   position: relative;
   overflow: hidden;
   padding: 28px 30px;
   border-radius: 12px;
   background:
      linear-gradient(115deg, #0b1f3a 0%, #102b52 65%, #173c70 100%);
   color: #ffffff;
   box-shadow: 0 10px 30px rgba(11,31,58,.10);
}

.abb-hero::after {
   content: "";
   position: absolute;
   top: -70px;
   right: -70px;
   width: 260px;
   height: 260px;
   border: 45px solid rgba(255,255,255,.04);
   border-radius: 50%;
}

.abb-hero-content {
   position: relative;
   z-index: 1;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 20px;
}

.abb-eyebrow,
.abb-section-eyebrow {
   display: block;
   margin-bottom: 5px;
   font-size: 9px;
   font-weight: 800;
   letter-spacing: .14em;
   color: #2e6deb;
}

.abb-hero .abb-eyebrow {
   color: #9fc0ff;
}

.abb-hero h1 {
   margin: 0 0 10px;
   color: #ffffff;
   font-size: 26px;
   font-weight: 750;
}

.abb-hero-meta {
   display: flex;
   flex-wrap: wrap;
   gap: 16px;
   color: #cbd5e1;
   font-size: 10px;
}

.abb-hero-meta span {
   display: flex;
   align-items: center;
   gap: 6px;
}

.abb-hero-actions {
   display: flex;
   gap: 8px;
}

.abb-btn-primary,
.abb-btn-secondary {
   height: 40px;
   padding: 0 16px;
   display: inline-flex;
   align-items: center;
   border-radius: 7px;
   font-size: 9px;
   font-weight: 800;
   letter-spacing: .08em;
}

.abb-btn-primary {
   background: #2e6deb;
   border-color: #2e6deb;
   color: #ffffff !important;
}

.abb-btn-primary:hover {
   background: #1e56c9;
}

.abb-btn-secondary {
   background: rgba(255,255,255,.08);
   border: 1px solid rgba(255,255,255,.18);
   color: #ffffff !important;
}

.abb-btn-secondary:hover {
   background: rgba(255,255,255,.14);
}

.abb-kpi-card {
   min-height: 92px;
   padding: 18px;
   display: flex;
   align-items: center;
   gap: 14px;
   border: 1px solid #e3e8f0;
   border-radius: 10px;
   background: #ffffff;
   box-shadow: 0 4px 14px rgba(15,23,42,.035);
}

.abb-kpi-icon {
   width: 44px;
   height: 44px;
   min-width: 44px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 9px;
   background: rgba(46,109,235,.10);
   color: #2e6deb;
   font-size: 21px;
}

.abb-kpi-label {
   margin-bottom: 4px;
   color: #94a3b8;
   font-size: 8px;
   font-weight: 800;
   letter-spacing: .11em;
}

.abb-kpi-value {
   color: #0b1f3a;
   font-size: 20px;
   font-weight: 800;
}

.abb-kpi-journal {
   width: 100%;
   overflow: hidden;
}

.abb-section {
   padding: 20px;
   border: 1px solid #e3e8f0;
   border-radius: 10px;
   background: #ffffff;
}

.abb-section-title,
.abb-panel-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
}

.abb-section-title {
   margin-bottom: 14px;
}

.abb-section-title h3,
.abb-panel-header h3 {
   margin: 0;
   color: #172033;
   font-size: 14px;
   font-weight: 750;
}

.abb-action-card {
   min-height: 74px;
   padding: 14px;
   display: flex;
   align-items: center;
   gap: 12px;
   border: 1px solid #e3e8f0;
   border-radius: 9px;
   background: #f8fafc;
   text-decoration: none !important;
   transition: .15s ease;
}

.abb-action-card:hover {
   transform: translateY(-1px);
   border-color: #b8cdf8;
   background: #f4f7ff;
   box-shadow: 0 6px 18px rgba(46,109,235,.07);
}

.abb-action-icon {
   width: 38px;
   height: 38px;
   min-width: 38px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 8px;
   background: #ffffff;
   color: #2e6deb;
   font-size: 18px;
   box-shadow: 0 2px 7px rgba(15,23,42,.05);
}

.abb-action-card strong {
   display: block;
   margin-bottom: 3px;
   color: #172033;
   font-size: 11px;
   font-weight: 750;
}

.abb-action-card small {
   display: block;
   color: #94a3b8;
   font-size: 8px;
}

.abb-panel {
   overflow: hidden;
   border: 1px solid #e3e8f0;
   border-radius: 10px;
   background: #ffffff;
   box-shadow: 0 4px 14px rgba(15,23,42,.03);
}

.abb-panel-header {
   min-height: 62px;
   padding: 14px 18px;
   border-bottom: 1px solid #edf1f6;
}

.abb-panel-header > i {
   color: #2e6deb;
   font-size: 22px;
}

.abb-panel-body {
   padding: 16px 18px;
}

.abb-panel .card {
   margin-bottom: 0 !important;
   border: 0 !important;
   box-shadow: none !important;
}

.abb-panel .card-body {
   padding: 0 !important;
}

@media (max-width: 991px) {
   .abb-hero-content {
      flex-direction: column;
      align-items: flex-start;
   }

   .abb-hero-actions {
      width: 100%;
   }

   .abb-hero-actions a {
      flex: 1;
      justify-content: center;
   }
}
