html, body {
    height: 100%;
    margin: 0;
}
.rotate-text {
  transform: rotate(-90deg);
  white-space: nowrap;
  padding: 0 !important;
}
.bg-orange {
    background: #ef6425 !important;
}
.bg-blue {
    background: #2d9ee0  !important;
}
.bg-light-orange {
    background: #ffe9d6 !important;
}
.text-orange {
    color: #ef6425 !important;
}
.text-blue {
    color: #22418b !important;
}
.text-light-orange {
    color: #ffe9d6 !important;
}
/* FontAwesome Theme */

.fa-theme-sesa {
    --fa-secondary-opacity: 1;
    --fa-primary-color: #ef6425;
    --fa-secondary-color: #22418b;
}

.fa-theme-sesa-reversed {
    --fa-secondary-opacity: 1;
    --fa-primary-color: #22418b;
    --fa-secondary-color: #ef6425;
}
.fa-theme-sesa-orange {
    --fa-secondary-opacity: 1;
    --fa-primary-color: #ef6425;
    --fa-secondary-color: #ffe9d6;
}
.fa-theme-sesa-blue {
    --fa-secondary-opacity: 1;
    --fa-primary-color: #1f438a;
    --fa-secondary-color: #e9ecf3;
}
.fa-theme-message-unread{
    --fa-secondary-opacity: 1;
    --fa-primary-color: red;
    --fa-secondary-color: #dee2e6;
}
.dropdown-item:hover .fa-theme-message-unread {
    --fa-secondary-opacity: 1;
    --fa-primary-color: red;
    --fa-secondary-color: #ef6425;
}
/* Account Messages */
.list-group-item.active {
  color: #ef6425 !important;
  background-color: #ffe9d6 !important;
  border-color:  #ffe9d6 !important;
}
.messages-body {
    height: calc(100vh - 425px); /* adjust based on your header height */
    min-height: 500px;
}

.messages-body .row {
    height: 100%;
}

.messages-list {
    height: 100%;
    overflow-y: auto;
}

.messages-content {
    height: 100%;
    overflow-y: auto;
}
@media (max-width: 767px) {

    .messages-content {
        display: none;
    }

    .messages-content.mobile-active {
        display: block;
    }

    .messages-list.mobile-hidden {
        display: none;
    }

}
/* NavBar */
.navbar-nav .dropdown-menu {
    position: absolute !important;
}
.active > .page-link, .page-link.active {
  z-index: 3;
  color: #fff !important;
  background-color: #ef6425 !important;
  border-color: #ef6425 !important;
}
.page-link {
  color: #22418b !important;
}
.sticky-top {
z-index: 999;
height:100%;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: #ef6425 !important;
}
.navbar-expand .navbar-nav-underline .nav-link.active {
    color: #e96e00 !important;
}
.nav-link:focus, .nav-link:hover {
    color: #e96e00 !important;
    text-decoration: none;
}
.navbar-nav-underline {
    --bs-nav-underline-height: 3px;
    --bs-nav-underline-color: transparent;
    --bs-nav-underline-link-hover-color: #e96e00 !important;
    --bs-nav-underline-link-active-color: #e96e00 !important;
}
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    color: #e96e00 !important;
    background-color: var(--bs-nav-tabs-link-active-bg);
    border-color: #e96e00 !important;
}
.nav-tabs {
    --bs-nav-tabs-link-active-color: #e96e00 !important;
}
.dropdown-menu {
    --bs-dropdown-link-hover-color: #e96e00 !important;
    --bs-dropdown-link-hover-bg: #ffe9d6 !important;
    --bs-dropdown-link-active-color: #e96e00 !important;
    --bs-dropdown-link-active-bg: #ffe9d6 !important;
}

.nav-underline .nav-link.active, .nav-underline .show>.nav-link {
    font-weight: 700;
    color: #ef6425 !important;
    border-bottom-color: #ef6425 !important;
}

.nav {
    --bs-nav-link-color: #22418b !important;
    --bs-nav-link-hover-color: ##ef6425 !important;
}

body {
    color: black !important;
    font-family: "Public Sans", sans-serif;
}
.page-content{
    /* height: calc(100vh - 83px) !important; */
    padding-top: 0rem;
    padding-bottom: 1rem;
}
.navbar + .page-content{
    /* height: calc(100vh - 162px) !important; */
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.page-content-hero{
    /* height: calc(100vh - 83px) !important; */
    padding-top: 0rem;
    padding-bottom: 1rem;
}
.navbar + .page-content-hero{
    /* height: calc(100vh - 162px) !important; */
    padding-top: 0rem;
    padding-bottom: 1rem;
}
.public-sans-black {
    font-family: "Public Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: italic !important;
    text-transform: uppercase;
}
.public-sans-bold {
    font-family: "Public Sans", sans-serif;
    font-optical-sizing: auto;
    font-style: normal !important;
    font-weight: 700;
}
.barlow-bold {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-style: normal;
}
/* Card CheckBoxs */ 
.card-checkbox label {
	width: 100%;
	font-size: 1rem;
}
.card-input-element+.card {
	height: calc(36px + 2*1rem);
	color: rgb(30, 61, 120);
	-webkit-box-shadow: none;
	box-shadow: none;
	border: 2px solid transparent;
	border-radius: 4px;
  }
  
  .card-input-element+.card:hover {
	cursor: pointer;
  }
  
  .card-input-element:checked+.card {
	border: 2px solid #e96e00;
	-webkit-transition: border .3s;
	-o-transition: border .3s;
	transition: border .3s;
  }
  
  .card-input-element:checked+.card::after {
	content: '\f00c';
	color: #e96e00;
	font-family: 'Font Awesome 7 Pro';
	font-weight: 400;
	font-size: 24px;
	-webkit-animation-name: fadeInCheckbox;
	animation-name: fadeInCheckbox;
	-webkit-animation-duration: .5s;
	animation-duration: .5s;
	-webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  }
  
  @-webkit-keyframes fadeInCheckbox {
	from {
	  opacity: 0;
	  -webkit-transform: rotateZ(-20deg);
	}
	to {
	  opacity: 1;
	  -webkit-transform: rotateZ(0deg);
	}
  }
  
  @keyframes fadeInCheckbox {
	from {
	  opacity: 0;
	  transform: rotateZ(-20deg);
	}
	to {
	  opacity: 1;
	  transform: rotateZ(0deg);
	}
  }
/* Scoped CSS for the fleet-table */
.fleet-table .fixed-width {
    width: 88px !important;  /* Adjust as needed for consistent width */
    max-width: 88px !important;
}
.table-dark {
    --bs-table-color: #fff !important;
    --bs-table-bg: #252525 !important;
}
.table-invoice {
    border-spacing: 0;
    font-size: 0.875rem;
    width: 100%;
    margin-bottom: 1rem;
    vertical-align: top;
    border-collapse: collapse; 
    padding: .5rem .5rem;
}
.table-invoice .table-dark {
    color: #fff;
    background: #252525;
}
.table-invoice th {
    font-weight: 500;
}
.table-invoice tr:nth-child(even) {
    background-color: #f2f2f2 !important;
}
.table-invoice tr {
    border-bottom: 0.5pt solid #dcdfe4 !important;
}
.table-invoice td {
    padding-top:10px;
    padding-bottom:10px; 
    padding-right:5px;   
}
.table-invoice td:first-child {
    padding-left:5px;
    padding-right:0;
}
/* Custom btn */
.btn-orange {
    color: #e96e00 !important;
	background-color: #ffe9d6 !important;
  	border-color: #ffe9d6 !important;
}

.btn-orange:hover {
	color: #fff !important;
	background-color: #e96e00 !important;
	border-color: #e96e00 !important;

}
.btn-primary {
    color: #e96e00 !important;
	background-color: #ffe9d6 !important;
  	border-color: #ffe9d6 !important;
}

.btn-primary:hover {
	color: #fff !important;
	background-color: #e96e00 !important;
	border-color: #e96e00 !important;

}
/*
btn-check:checked + .btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check) + .btn:active {
    color: white !important;
    background-color: #e96e00 !important;
  	border-color: #e96e00 !important;
}
.btn-check:checked + .btn-outline-success, .btn-outline-success.active, .btn-outline-success.show {
  --bs-btn-active-color: #1f845a !important;
  --bs-btn-active-bg: #d2ffec !important;
  --bs-btn-active-border-color: #1f845a !important;
}
.btn-outline-danger {
  --bs-btn-active-color: #ca3521 !important;
  --bs-btn-active-bg: #ffdeda !important;
  --bs-btn-active-border-color: #ca3521 !important;
}
*/
/* Card Radio */
.card-radio-group .card {
    cursor: pointer;
}
.card-radio-group input[type="radio"] {
    display: none;
}
.card-radio-group input[type="radio"]:checked + .card {
    background: #e96e00;
    color: white;
    box-shadow: 0 0 10px rgba(213, 32, 39, 0.25);
}
/* User Flags */
.flag {
    font-size: 0.75rem;
    min-height: 22px;
    min-width: 22px;
    text-align: center;
    padding: 0.25rem;
}

.fixed-main {
top: 70px !important; 
}

.scroll-main {
margin-top: 75px !important;
}

@media (max-width: 767.98px) {
    .scroll-main {
    margin-bottom: 52px !important ;
    }
}

::-webkit-scrollbar {
    width: 6px;
    background: #dcdfe4;
}

::-webkit-scrollbar-track {
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: #afb3b4;
}

.breadcrumb-item + .breadcrumb-item::before{
    font-family: 'Font Awesome 7 Pro' !important;
    content: "\f054" !important;
    padding-top: 3px !important;
}
input.picker[type="date"] {
  position: relative;
}

input.picker[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  color: transparent;
  background: transparent;
}
/* Radio Cards */
input[type="radio"].btn-check:checked + label.card {
  border: 2px solid #0d6efd;
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
/* Cropper */
.cropper-container-wrapper {
  width: 100%;
  max-width: 100%;
  height: auto;
  overflow: hidden;
}
/* Modal */
.modal-footer {
  border-top: none !important;
}
/* Badge */
.text-bg-outline-dark {
  color: RGBA(9,30,66,1) !important;
  background-color: white !important;
  border: var(--bs-border-width) var(--bs-border-style) RGBA(9,30,66,1) !important;
}
/* Form Wizard */
.wizard,
.wizard .nav-tabs,
.wizard .nav-tabs .nav-item {
	position: relative;
}
.wizard .nav-tabs {
    border-bottom: none !important;
}
.wizard .nav-tabs:after {
	content: "";
	width: 80%;
	border-bottom: solid 2px #ccc;
	position: absolute;
	margin-left: auto;
	margin-right: auto;
	top: 38%;
	z-index: -1;
}
.wizard .nav-tabs .nav-item .nav-link {
	width: 70px;
	height: 70px;
	margin-bottom: 6%;
	background: white;
	border: 2px solid #ccc;
	color: #ccc;
	z-index: 10;
}
.wizard .nav-tabs .nav-item .nav-link:hover {
	color: #22418b;
	border: 2px solid #22418b;
}
.wizard .nav-tabs .nav-item .nav-link.active {
	background: #fff;
	border: 2px solid #ef6425;
	color: #ef6425;
}
.wizard .nav-tabs .nav-item .nav-link:after {
	content: " ";
	position: absolute;
	left: 50%;
	transform: translate(-50%);
	opacity: 0;
	margin: 0 auto;
	bottom: 0px;
	border: 5px solid transparent;
	border-bottom: none !important;
	transition: 0.1s ease-in-out;
}

.nav-tabs .nav-item .nav-link.active:after {
	content: " ";
	position: absolute;
	left: 50%;
	transform: translate(-50%);
	opacity: 1;
	margin: 0 auto;
	bottom: 0px;
	border: 10px solid transparent;
	border-bottom-color: #ef6425;
}
.wizard .nav-tabs .nav-item .nav-link svg {
	font-size: 25px;
}

/* === Extended spacing utilities (p-6 to p-15) === */

.p-6  { padding: 4rem !important; }
.p-7  { padding: 5rem !important; }
.p-8  { padding: 6rem !important; }
.p-9  { padding: 7rem !important; }
.p-10 { padding: 8rem !important; }
.p-11 { padding: 9rem !important; }
.p-12 { padding: 10rem !important; }
.p-13 { padding: 11rem !important; }
.p-14 { padding: 12rem !important; }
.p-15 { padding: 13rem !important; }

/* Padding-top */
.pt-6  { padding-top: 4rem !important; }
.pt-7  { padding-top: 5rem !important; }
.pt-8  { padding-top: 6rem !important; }
.pt-9  { padding-top: 7rem !important; }
.pt-10 { padding-top: 8rem !important; }
.pt-11 { padding-top: 9rem !important; }
.pt-12 { padding-top: 10rem !important; }
.pt-13 { padding-top: 11rem !important; }
.pt-14 { padding-top: 12rem !important; }
.pt-15 { padding-top: 13rem !important; }

/* Padding-bottom */
.pb-6  { padding-bottom: 4rem !important; }
.pb-7  { padding-bottom: 5rem !important; }
.pb-8  { padding-bottom: 6rem !important; }
.pb-9  { padding-bottom: 7rem !important; }
.pb-10 { padding-bottom: 8rem !important; }
.pb-11 { padding-bottom: 9rem !important; }
.pb-12 { padding-bottom: 10rem !important; }
.pb-13 { padding-bottom: 11rem !important; }
.pb-14 { padding-bottom: 12rem !important; }
.pb-15 { padding-bottom: 13rem !important; }

/* Padding-x (left + right) */
.px-6  { padding-left: 4rem !important; padding-right: 4rem !important; }
.px-7  { padding-left: 5rem !important; padding-right: 5rem !important; }
.px-8  { padding-left: 6rem !important; padding-right: 6rem !important; }
.px-9  { padding-left: 7rem !important; padding-right: 7rem !important; }
.px-10 { padding-left: 8rem !important; padding-right: 8rem !important; }
.px-11 { padding-left: 9rem !important; padding-right: 9rem !important; }
.px-12 { padding-left: 10rem !important; padding-right: 10rem !important; }
.px-13 { padding-left: 11rem !important; padding-right: 11rem !important; }
.px-14 { padding-left: 12rem !important; padding-right: 12rem !important; }
.px-15 { padding-left: 13rem !important; padding-right: 13rem !important; }

/* Padding-y (top + bottom) */
.py-6  { padding-top: 4rem !important; padding-bottom: 4rem !important; }
.py-7  { padding-top: 5rem !important; padding-bottom: 5rem !important; }
.py-8  { padding-top: 6rem !important; padding-bottom: 6rem !important; }
.py-9  { padding-top: 7rem !important; padding-bottom: 7rem !important; }
.py-10 { padding-top: 8rem !important; padding-bottom: 8rem !important; }
.py-11 { padding-top: 9rem !important; padding-bottom: 9rem !important; }
.py-12 { padding-top: 10rem !important; padding-bottom: 10rem !important; }
.py-13 { padding-top: 11rem !important; padding-bottom: 11rem !important; }
.py-14 { padding-top: 12rem !important; padding-bottom: 12rem !important; }
.py-15 { padding-top: 13rem !important; padding-bottom: 13rem !important; }

/* Logical start / end (RTL-safe) */
.ps-6  { padding-inline-start: 4rem !important; }
.ps-7  { padding-inline-start: 5rem !important; }
.ps-8  { padding-inline-start: 6rem !important; }
.ps-9  { padding-inline-start: 7rem !important; }
.ps-10 { padding-inline-start: 8rem !important; }
.ps-11 { padding-inline-start: 9rem !important; }
.ps-12 { padding-inline-start: 10rem !important; }
.ps-13 { padding-inline-start: 11rem !important; }
.ps-14 { padding-inline-start: 12rem !important; }
.ps-15 { padding-inline-start: 13rem !important; }

.pe-6  { padding-inline-end: 4rem !important; }
.pe-7  { padding-inline-end: 5rem !important; }
.pe-8  { padding-inline-end: 6rem !important; }
.pe-9  { padding-inline-end: 7rem !important; }
.pe-10 { padding-inline-end: 8rem !important; }
.pe-11 { padding-inline-end: 9rem !important; }
.pe-12 { padding-inline-end: 10rem !important; }
.pe-13 { padding-inline-end: 11rem !important; }
.pe-14 { padding-inline-end: 12rem !important; }
.pe-15 { padding-inline-end: 13rem !important; }

/* Content Panel */

.content-panel-md {
    margin-top: -60px;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);
}

.content-panel-lg {
    margin-top: -160px;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);
}
/* =====================
   Prevent sidebar flash
===================== */
html.sidebar-collapsed #sidebar {
    width: 72px;
}

html.sidebar-collapsed #sidebar .link-text {
    display: none;
}

html.sidebar-collapsed #sidebar .nav-link {
    justify-content: center;
}

html.sidebar-collapsed #sidebar .menu-chevron {
    display: none;
}

/* =====================
   Layout
===================== */
#app-layout {
    height: calc(100vh - 56px);
}

/* =====================
   Sidebar base (DESKTOP)
===================== */
.sidebar {
    width: 260px;
    flex: 0 0 260px;        /* prevents flex resizing */
    max-width: 260px;
    min-width: 260px;

    position: relative;
    transition: width 0.25s ease, flex-basis 0.25s ease;
    overflow: visible;
    z-index: 100;
}

.sidebar.collapsed {
    width: 72px;
    flex: 0 0 72px;
    max-width: 72px;
    min-width: 72px;
}

/* =====================
   Sidebar toggle button
===================== */
.sidebar-toggle {
    position: absolute;
    top: 50%;
    right: -14px;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #22408c;
    z-index: 1001;
}

/* =====================
   Nav links
===================== */
.sidebar .nav-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    height: 42px;

    color: #fff !important;
    position: relative;
    overflow: hidden;
}

/* Fixed icon column */
.sidebar .nav-icon {
    width: 1.25rem;
    text-align: center;
    flex-shrink: 0;
}

/* Chevron alignment */
.sidebar .menu-chevron {
    margin-left: auto;
}

/* =====================
   Pill background (hover + active)
===================== */
.sidebar .nav-link::after {
    content: "";
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 6px;

    width: calc(100% - 12px);
    border-radius: 8px;

    background-color: transparent;
    transition: background-color 0.15s ease, width 0.25s ease;
    z-index: 0;
}

/* Hover */
.sidebar .nav-link:hover::after {
    background-color: #e9ecf3;
}

/* Active */
.sidebar .nav-link.active::after {
    background-color: #f16523;
}

/* Collapsed pill width */
.sidebar.collapsed .nav-link::after {
    width: 44px;
}

/* Ensure content above pill */
.sidebar .nav-link > * {
    position: relative;
    z-index: 1;
}

/* Neutralise Bootstrap pills */
.sidebar .nav-pills .nav-link.active {
    background-color: transparent !important;
    color: #fff !important;
}

.sidebar .nav-link:hover {
    color: #22418b !important;
}

/* =====================
   Collapsed behaviour
===================== */
.sidebar.collapsed .link-text {
    display: none;
}

.sidebar.collapsed .nav-link {
    justify-content: center;
}

.sidebar.collapsed .nav-link[data-bs-toggle="collapse"] .menu-chevron {
    display: none;
}

/* =====================
   Submenu
===================== */
.sidebar .nav-link.small::after {
    display: none;
}

.sidebar .nav-link.small {
    font-size: 0.85rem;
    padding-left: 1.25rem;
    opacity: 0.9;
}

.sidebar .nav .nav-link.small:hover {
    background-color: #e9ecf3;
    color: #22418b !important;
    border-radius: 6px;
}

/* =====================
   Sidebar footer
===================== */
.sidebar-footer .link-text {
    white-space: nowrap;
}

.sidebar.collapsed .sidebar-footer {
    justify-content: center;
}

.sidebar.collapsed .sidebar-footer .link-text {
    display: none;
}

.sidebar.collapsed .sidebar-footer .dropup {
    width: 100%;
    display: flex;
    justify-content: center !important;
}

/* =====================
   User avatar
===================== */
.user-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: #f26422;
    color: #fff;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
}

.user-menu-toggle:hover .user-avatar {
    background-color: #ffe9d6;
    color: #ef6425;
}

.user-menu-toggle::after {
    display: none !important;
}

.user-menu-toggle:hover,
.user-menu-toggle:focus {
    background-color: transparent !important;
}
/* =====================
   Mobile behaviour
===================== */
@media (max-width: 767.98px) {
    #sidebar {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
    }

    #app-layout {
        display: block;
    }

    #sidebar .nav {
        padding-top: 0.75rem;
    }
}

@media (min-width: 768px) {
    #app-layout {
        display: flex;
    }
}

/* Offcanvas stacking */
.offcanvas-md {
    z-index: 1050;
}

.sidebar-mobile-toggle {
    position: fixed;
    bottom: 1rem;
    left: 1rem;
    width: 48px;
    height: 48px;

    background-color: #22408c;
    color: #fff;

    border-radius: 50%;
    z-index: 1035; /* below offcanvas, above content */
}

.hover-shadow {
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.hover-shadow:hover {
    box-shadow: 0 2px 5px rgba(0,0,0,0.09);
    transform: translateY(-2px);
}

.navbar .badge-link {
    cursor: pointer;
}
.navbar .badge-link:hover {
    opacity: 0.85;
}

/* =====================
   Sidebar collapse nav item
===================== */
.sidebar-collapse-link:hover::after {
    background-color: rgba(255,255,255,0.15);
}

/* Collapsed state */
.sidebar.collapsed .link-text {
    opacity: 0;
    transform: translateX(-8px);
    pointer-events: none;
}
/* Optional: subtle separation from footer */
.sidebar-collapse-link {
    margin-bottom: 0.25rem;
}

/* Force collapse menu link to single line */
.sidebar-collapse-link {
    white-space: nowrap;
    flex-wrap: nowrap;
    min-height: 42px; /* match other nav items */
}

/* Ensure text does not wrap */
.sidebar-collapse-link .link-text {
    white-space: nowrap;
}

/* Prevent icon shrinking */
.sidebar-collapse-link i {
    flex-shrink: 0;
}

.tooltip-inner {
    font-size: 0.85rem;
    padding: 0.4rem 0.6rem;
    border-radius: 6px;
}

/* Link text base state */
.sidebar .link-text {
    white-space: nowrap;
    overflow: hidden;
    transition: 
        opacity 0.2s ease,
        max-width 0.25s ease;
    max-width: 160px; /* enough for longest label */
    opacity: 1;
}

/* Collapsed */
.sidebar.collapsed .link-text {
    opacity: 0;
    max-width: 0;
}