
/*  
  - General
  - Login
  - Sidebar
  - Header
  - Metismenu
  - Extra CSS
  - Navs y Tabs
  - Background Colors
  - Authentication
  - Buttons
  - Select2
  - Table
  - Div
  - Icons
  - Forms
  - Responsive
*/




@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap');

body {


	font-size: 14px;


	color: #4c5258;


	letter-spacing: 0.5px;


	background-color: #f7f7ff;


	font-family: 'Roboto', sans-serif;


}


a {


	text-decoration: none;


}


.wrapper {


	width: 100%;


	position: relative;


}

.mobile-topbar-header {

	display: none;
	
}

.card{
 border-radius: 16px !important;
}

/* Loader */

:root {
    --heva-loader-bg: #0f172a; 
    --heva-plane-color: #ffffff;
    --heva-loader-text-color: #cbd5e1; 
}


.heva-loader-mask {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(15, 23, 42, 0.698); 
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99999;
    backdrop-filter: blur(10px); 
    transition: opacity 0.4s ease;
}

.heva-loader-container {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}


.heva-plane-figure {
    width: 100px;
    height: 100px;
    margin-bottom: 24px;
    position: relative;
    animation: heva-plane-fly 3s ease-in-out infinite;
}

.heva-plane-figure svg {
    width: 100%;
    height: 100%;
    fill: var(--heva-plane-color);
    filter: drop-shadow(0 0 10px rgba(255,255,255,0.3));
}


.heva-loader-text {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    color: var(--heva-loader-text-color);
    font-size: 1rem;
    font-weight: 300;
    letter-spacing: 2px;
    text-transform: uppercase;
    animation: heva-text-breathe 3s
}

@keyframes heva-plane-fly {
    0% {
        opacity: 0;
        transform: translate(-100px, 40px) scale(0.7) rotate(10deg);
    }
    20% {
        opacity: 1;
        transform: translate(0, 0) scale(1) rotate(0deg);
    }
    50% {
        
        transform: translate(10px, -15px) rotate(-5deg);
        opacity: 1;
    }
    80% {
      
        opacity: 1;
        transform: translate(50px, -30px) scale(1.1) rotate(-10deg);
    }
    100% {
      
        opacity: 0;
        transform: translate(150px, -60px) scale(1.2) rotate(-15deg);
    }
}

@keyframes heva-text-breathe {
    0%, 100% { 
        opacity: 0.4; 
        transform: scale(0.95);
    }
    50% { 
        opacity: 1; 
        transform: scale(1);
    }
}

@media (max-width: 768px) {
    .heva-plane-figure {
        width: 80px;
        height: 80px;
    }
    .heva-loader-text {
        font-size: 0.85rem;
        letter-spacing: 1px;
    }
}

/* Login */

.heva-login-root {
   /* --heva-dark: #0f172a;
    --heva-blue-btn: #5c6bc0;
    --heva-soft-bg: #f8fafc;*/

	--heva-dark: #0f172a;
    --heva-orange-btn: #ff6601;
    --heva-soft-bg: #2b3035;
    
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    /*background-color: #f0f2f5; */
	background-color: #212529;
    font-family: 'Helvetica Neue', Arial, sans-serif;
}

.heva-main-container {
    display: flex;
    width: 1000px;
    height: 600px;
    background: #212529;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(166, 166, 166, 0.086);
}


.heva-visual-section {
    flex: 1.3;
    background-image: url('../images/login/login14.jpg');
    background-size: cover;
    background-position: center;
    position: relative;
}

.heva-visual-title {
    color: white;
    font-size: 2rem;
    font-weight: 300;
    margin: 0;
}

.heva-logo-top {
    width: 270px;          
    height: auto;         
    margin-bottom: 15px;  
    display: block;       
    margin-left: auto;    
    margin-right: auto;   
}


.heva-form-section {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--heva-soft-bg);
}

.heva-form-content {
    width: 80%;
    max-width: 350px;
}

.heva-logo-text {
    color: white;
    font-size: 2.5rem;
    letter-spacing: 6px;
    margin-bottom: 8px;
    text-align: center;
}

.heva-welcome-title {
	/* color: #334155;*/
    color: #f2f2f2;
    margin-top: 20px;
    text-align: center;
    font-weight: 600;
}

.heva-welcome-subtitle {
    /*color: #64748b;*/
	color: #e6e6e6;
    font-size: 0.85rem;
    text-align: center;
    margin-bottom: 32px;
}


.heva-input-wrapper {
    margin-bottom: 20px;
}

.heva-label {
    display: block;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #94a3b8;
    margin-bottom: 6px;
    font-weight: bold;
}

.heva-input-field {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background-color: white;
    font-size: 1rem;
    transition: all 0.2s ease;
    box-sizing: border-box; 
}

.heva-input-field:focus {
    outline: none;
    border-color: var(--heva-orange-btn);
    box-shadow: 0 0 0 4px rgba(92, 107, 192, 0.1);
}


.heva-btn-primary {
    width: 100%;
    padding: 16px;
    background-color: var(--heva-orange-btn);
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.2s, background 0.2s;
    margin-top: 10px;
}

.heva-btn-primary:hover {
    background-color: #e65c00;
    transform: translateY(-1px);
}

.heva-btn-primary:active {
    transform: translateY(1px);
}

.heva-copyright {
    margin-top: 40px;
    font-size: 0.7rem;
    color: #cbd5e1;
    text-align: center;
}


.heva-password-container {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    background-color: #e8f0fe;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    transition: all 0.2s ease;
}


.heva-input-field.heva-password-input {
    border: none !important; 
    background: transparent;
    flex-grow: 1;
    margin-bottom: 0; 
}


.heva-password-container:focus-within {
    border-color: var(--heva-orange-btn);
    box-shadow: 0 0 0 4px rgba(92, 107, 192, 0.1);
}


.heva-toggle-icon {
    padding: 0 15px;
    color: #94a3b8;
    text-decoration: none;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    transition: color 0.2s;
}

.heva-toggle-icon:hover {
    color: var(--heva-orange-btn);
}


.heva-password-input {
    padding-right: 0 !important;
}

/* Sidebar */

.logo-topbar {
    width: 140px;   
    height: auto;
    max-height: 50px; 
    display: block;
}
.topbar-logo-header{
	width: auto;
    align-items: center;
    padding: 0 30px;
    border-right: 1px solid #f0f0f0;
}


.logo-icon {


	width: 30px;


}

.logo-icon-2 {
	width: 35px;
	
    margin-left: 10px;
}


.logo-text {


	font-size: 22px;


	margin-left: 10px;


	margin-bottom: 0;


	letter-spacing: 1px;


	color: #ffffff;


}


.toggle-icon {

	font-size: 26px;
	

	color: #5e72e4;
	

    cursor: pointer;


}


/* Header */


.topbar {


	position: fixed;


	top: 0;


	left: 0;


	right: 0;


	height: 60px;


	background: #212529;


	border-bottom: 1px solid #f0f0f0;


	z-index: 10;


}


.topbar .navbar {


	width: 100%;


	height: 60px;


	padding-left: 1.5rem;
    padding-right: 1.5rem;


}


.page-wrapper {


	height: 100%;


	margin-top: 120px;


	margin-bottom: 30px;


	margin-left: 0px;


}

/* @media screen and (min-width: 1400px){

	.page-wrapper {

		padding-left: 80px;

		padding-right: 80px;

	}

} */


.page-content {


	padding: 1.5rem;


}


.page-footer {


	background: #ffffff;


	left: 0px;


	right: 0;


	bottom: 0;


	position: fixed;


	text-align: center;


	padding: 7px;


	font-size: 14px;


	border-top: 1px solid #e4e4e4;


	z-index: 3;


}


/*primary menu*/

.primary-menu .navbar .navbar-nav .nav-item {
	width: 100%;
}

.primary-menu .navbar .navbar-nav a.nav-link {
	display: flex;
    align-items: center;
    justify-content: start;
    gap: 0.5rem;
    font-size: 16px;
    border-radius: 0;
    padding: 0.25rem 1rem;
    margin: 2px 0rem;
    border-bottom: 1px solid #e3e3e3;
	
}


.primary-menu .navbar .navbar-nav a.nav-link:first-child {
	margin-left: 0;
	
}

.primary-menu .navbar .navbar-nav a.nav-link:last-child {
	margin-right: 0;
}


.primary-menu .navbar .navbar-nav a.nav-link:active,
.primary-menu .navbar .navbar-nav a.nav-link:focus {
	color: #fff !important;
	background-color: #ff6601;
} 			


.primary-menu .navbar .navbar-nav a.nav-link:hover {
	color: #ff6701cb !important;
	background-color: rgba(255, 103, 1, 0.149);
}


.primary-menu .navbar .navbar-nav .nav-item.active > .nav-link {
    color: #ffffff !important;
    background-color: #ff6701cb !important;
}

.primary-menu .navbar .navbar-nav .nav-item.dropdown.active > .nav-link {
    color: #ffffff !important;
    background-color: #ff6701cb !important;
}

.primary-menu .navbar .navbar-nav .dropdown-menu a.dropdown-item.active {
    color: #ffffff !important;          
    background-color: #ff6701cb !important; 
}

.primary-menu .navbar .navbar-nav .dropdown-menu a.dropdown-item:hover {
    background-color: rgba(255, 103, 1, 0.149) !important; 
    color: #ff6701cb !important;
}

ul.scroll-menu {
    overflow-x: auto;
    height: auto;
    max-height: 450px;
}

.primary-menu .navbar .navbar-nav .dropend a.dropdown-toggle:after {
	content: "\e9b2";
	position: absolute;
    right: 4px;
    border: 0;
    font-size: 20px;
    display: inline-block;
    font-family: 'boxicons';
}


.primary-menu .navbar .navbar-nav .dropdown-menu {
	transform-origin: top center;
	animation: rotateX 200ms  ease-in forwards;
	box-shadow: none;
	padding: 0.5rem;
	margin: 0;
}

.primary-menu .navbar .navbar-nav .dropend .dropdown-menu {
	padding-left: 1rem;
}



@keyframes rotateX {
	0% {
	  opacity: 0;
	  transform: rotateX(-90deg);
	}
	50% {
	  transform: rotateX(-20deg);
	}
	100% {
	  opacity: 1;
	  transform: rotateX(0deg);
	}
  }

  


.primary-menu .navbar .navbar-nav .dropdown-menu .dropdown-item {
	font-size: 16px;
	flex-shrink: 0;
	border-radius: 0;
	display: flex;
    align-items: center;
}

.primary-menu .navbar .navbar-nav .dropdown-menu .dropdown-item i {
	margin-right: 10px;
	font-size: 20px;
}


.primary-menu .navbar .navbar-nav a .parent-icon {
    font-size: 20px;
}

.primary-menu .navbar .navbar-nav a .menu-title i {
    font-size: 20px;
}




/*min-width:992px*/

@media screen and (min-width:1200px) {
	.primary-menu .navbar {

		position: fixed;
	
		top: 60px;
	
		right: 0;
	
		left: 0;
	
		z-index: 9;
	
		border-bottom: 1px solid #e4e4e4;
		
		box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075)!important;
	
		background: #ffffff;

		padding: 10px 1.5rem;
	
	}
}

@media screen and (min-width:992px) {
		
	.primary-menu .navbar .navbar-nav a.nav-link {

		border-radius: 6px;
		margin: 0px 0.3rem;
		border-bottom: 0px solid #e3e3e3;

	}



	.primary-menu .navbar .navbar-nav .dropdown-menu .dropdown-item {
		border-radius: 6px;
	}


	.primary-menu .navbar .navbar-nav  .dropdown-menu {
		transform-origin: top center;
		animation: rotateX 300ms  ease-in-out forwards;
		-webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, .15);
	     box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, .15);

	}
	
	@keyframes rotateX {
		0% {
		  opacity: 0;
		  transform: rotateX(-90deg);
		}
		50% {
		  transform: rotateX(-20deg);
		}
		100% {
		  opacity: 1;
		  transform: rotateX(0deg);
		}
	  }

	
		
	.primary-menu .navbar .navbar-nav .dropend .dropdown-menu {
		padding-left: 0.5rem;
	}

	.primary-menu .navbar {

		/*position: fixed;*/
	
		top: 60px;
	
		right: 0;
	
		left: 0;
	
		z-index: 9;
	
		border-bottom: 1px solid #e4e4e4;
		
		box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075)!important;
	
		background: #ffffff;

		padding: 10px 1.5rem;
	
	} 



	.primary-menu .navbar .navbar-nav .dropdown-menu {
		width: 14rem;
		border-radius: 10px;
	}

		
	.primary-menu .navbar .navbar-nav .nav-item {
		width: auto;
	}

	.primary-menu .navbar .navbar-nav .dropdown .dropdown-menu{
		display: none;
	  }
	
	  .primary-menu .navbar .navbar-nav .dropdown:hover > .dropdown-menu,
	  .primary-menu .navbar .navbar-nav .dropend:hover > .dropdown-menu{
		display: block;
		
	  }

	.primary-menu .navbar .navbar-nav .dropend:hover > .dropdown-menu{
	  position: absolute;
	  top: 0;
	  left: 100%;
	}

  }

  


@media screen and (min-width: 1025px) {



	.email-toggle-btn {


		display: none !important;


	}


	.chat-toggle-btn {


		display: none !important;


	}


}


/* Extra CSS */


.folio-reserva {
    display: flex;
    justify-content: center;
    padding: 0px 0px 2px 0px;
    font-size: 13px;
    font-weight: 700;
    color: #ff8c00;
    letter-spacing: 1px;
    opacity: 0.8;
}

.vlp-details-warnings {
    margin-top: 12px;
    margin-bottom: 10px;
    padding: 14px;
    border-top: 1px solid #ff8c0033;
}

.vlp-warnings-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.vlp-warning-item {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #ff8c0011;
    border: 1px solid #ff8c0033;
    border-radius: 6px;
    padding: 6px 10px;
    font-size: 11px;
    color: #ff8c00;
}

.btn-confirmar-hora {
    background: transparent;
    border: 1px solid #666;
    color: #666;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 12px;
    border-radius: 6px;
    transition: all 0.2s;
    cursor: not-allowed;
}

.btn-confirmar-hora.estado-listo {
    border-color: #ff8c00;
    color: #ff8c00;
    cursor: pointer;
}
.btn-confirmar-hora.estado-listo:hover {
    background: #ff8c0022;
}

.btn-confirmar-hora.estado-cargando {
    border-color: #ff8c00;
    color: #ff8c00;
    cursor: wait;
    opacity: 0.7;
}

.btn-confirmar-hora.estado-confirmado {
    border-color: #28a745;
    color: #28a745;
    cursor: default;
    background: #28a74511;
}

.btn-confirmar-hora.estado-error {
    border-color: #dc3545;
    color: #dc3545;
    cursor: pointer;
    background: #dc354511;
}

.dia-bloqueado-total {
    position: relative;
}
.dia-bloqueado-total::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #ff4444;
}

.dia-parcial {
    position: relative;
}
.dia-parcial::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #ff8c00;
}

.btn-cal{
    margin-right: 40px;
}

.vlp-details-link {
    cursor: pointer;
    color: #ff8c00;
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: opacity 0.2s;
}
.vlp-details-link:hover { opacity: 0.8; }
.vlp-details-link.disabled { opacity: 0.4; pointer-events: none; }

.vlp-details-panel {
    border-top: 1px solid #ff8c0033;
    margin-top: 12px;
    padding-top: 12px;
    animation: fadeIn 0.3s ease;
}

.vlp-details-row {
    margin-bottom: 16px;
    padding: 15px 25px;
    text-align:center;
    /*display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
    justify-content: center;*/
}

.vlp-details-col {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vlp-details-arrow {
    font-size: 24px;
    color: #ff8c00;
}

.vlp-details-label {
    font-size: 12px;
    color: #ffffff66;
    font-weight: 600;
    letter-spacing: 1px;
}

.vlp-details-value {
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
}

.vlp-details-stats {
    /*
    display: flex;
    gap: 24px;
    justify-content: center;
    margin-bottom: 25px;*/
    padding: 0px 25px 25px 25px;
}

.vlp-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    background: #ffffff0d;
    border: 1px solid #ff8c0022;
    border-radius: 8px;
    padding: 5px 6px;
    min-width: 100px;
    margin-bottom: 10px;
}

.vlp-stat i {
    font-size: 24px;
    color: #ff8c00;
}

.vlp-stat-label {
    font-size: 12px;
    color: #ffffff66;
    font-weight: 600;
    letter-spacing: 1px;
}

.vlp-stat-value {
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to   { opacity: 1; transform: translateY(0); }
}

.vlp-field-locked {
    border: 1px solid #ff8c00 !important;
    pointer-events: none !important;
    opacity: 0.8 !important;
    cursor: not-allowed !important;
}

.vlp-field-locked + .select2-container--default .select2-selection--single {
    border: 1px solid #ff8c00 !important;
}

.route-header {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}

.plane-icon {
    font-size: 16px;
    color: #f36f21;
}

.date-row {
    font-size: 12px;
    color: #eee;
    margin-top: 5px;
}

.time-row {
    font-size: 13px;
    color: #fff;
    margin-top: 4px;
    display: flex;
    gap: 5px;
    opacity: 0.8;
}

.separator {
    opacity: 0.4;
}

.vlp-timeline-item {
    background: #1a1d21;
    border: 1px solid #333;
    padding: 12px 15px;
    border-radius: 8px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.vlp-timeline-item:hover {
    border-color: #ff6600;
    background: rgba(255, 102, 0, 0.05);
}

.vlp-timeline-item.active {
    border-color: #ff6600;
    background: rgba(255, 102, 0, 0.1);
    box-shadow: inset 4px 0 0 #ff6600; 
}

.vlp-timeline-item .type-label {
    font-size: 15px;
    color: #ff6600;
    font-weight: 600;
    text-transform: uppercase;
}

.vlp-timeline-item .route-label {
    color: #fff;
    font-size: 15px;
    margin: 0;
}

.vlp-btn-add-scale {
    background: transparent;
    color: #888;
    border: 1px dashed #444;
    padding: 12px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    transition: all 0.3s;
    margin-bottom: 20px;
}

.vlp-btn-add-scale:hover {
    color: #ff6600;
    border-color: #ff6600;
    background: rgba(255, 102, 0, 0.05);
}

.vlp-itinerary-card {
    background: #1a1d21;
    border: 1px solid #ff6600;
    border-radius: 10px;
    margin-bottom: 20px;
    overflow: hidden;
}

.vlp-card-header {
    background: rgba(255, 102, 0, 0.05);
    border-bottom: 1px solid rgba(255, 102, 0, 0.2); 
    padding: 12px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-left: 4px solid #ff6600; 
}

.vlp-badge {
    background: transparent;
    color: #ff6600; 
    padding: 5px 16px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 1px solid #ff6600; 
    display: inline-flex;
    align-items: center;
}

.vlp-details-link {
    color: #ff6600; 
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    background: rgba(255, 102, 0, 0.1); 
    padding: 5px 12px;
    border-radius: 20px;
    border: 1px solid rgba(255, 102, 0, 0.3);
    transition: all 0.2s ease;
    text-transform: uppercase;
}

.vlp-details-link:hover {
    background: #ff6600;
    color: #fff;
    border-color: #ff6600;
    box-shadow: 0 0 10px rgba(255, 102, 0, 0.4);
}

.vlp-details-link i {
    font-size: 15px;
    vertical-align: middle;
}

.vlp-card-body {
    padding: 20px;
    background: #1a1d21;
}

.vlp-itinerary-card label {
    color: #bfbfbf;
    font-size: 14px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 5px;
}

.vlp-input-dark {
    background: #25282e !important;
    border: 1px solid #444 !important;
    color: #fff !important;
    font-size: 14px !important;
    border-radius: 5px !important;
}

/* Sección de Información Adicional (Mapa y Pasajeros) */
.vlp-additional-info {
    background: #111317;
    border-radius: 8px;
    margin-top: 15px;
    padding: 15px;
    border: 1px solid #333;
}

.vlp-btn-confirm {
    background: #ff6600;
    color: white;
    border: none;
    padding: 10px 25px;
    border-radius: 5px;
    font-weight: 500;
    transition: 0.3s;
}

.vlp-btn-confirm:hover {
    background: #e65c00;
    box-shadow: 0 0 15px rgba(255, 102, 0, 0.4);
}


.border-orange {
    border: 1px solid #ff6600 !important;
}
.vlp-fade-out {
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.vlp-fade-in {
    opacity: 1 !important;
    transition: opacity 0.3s ease;
}

#vlp-step-2 {
    opacity: 0;
    display: none;
}

.flatpickr-day.selected, 
.flatpickr-day.startRange, 
.flatpickr-day.endRange {
    background: #ff6600 !important;
    border-color: #ff6600 !important;
    color: white !important;
}

.flatpickr-day.inRange {
    background: rgba(255, 102, 0, 0.15) !important;
    box-shadow: -5px 0 0 rgba(255, 102, 0, 0.15), 5px 0 0 rgba(255, 102, 0, 0.15) !important;
    border-color: transparent !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months{
    background: #16181d !important;
    
}

.flatpickr-calendar.inline .flatpickr-month{
   border-top-left-radius: 8px;
   border-top-right-radius: 8px;
}

.vlp-info-box {
    background: #25282e;
    padding: 12px 15px;
    border-radius: 8px;
}

.flatpickr-calendar.inline span.flatpickr-weekday {
    background: #373c49 !important;
}


.flatpickr-calendar.inline {
    background: #373c49 !important;
    border-radius: 15px;
}

.flatpickr-calendar.inline .flatpickr-month {
    background: #16181d !important;
    color: #ffffff !important;
}



.vlp-main-container .vlp-reservation-card {
    background-color: #22252b !important; 
    border: 1px solid #3d3d3d !important; 
    border-radius: 12px !important;
    padding: 30px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0,0,0,0.8);
}

.vlp-main-container .vlp-reservation-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, transparent, #ff6600, #ff6600);
}

.vlp-main-container .vlp-reservation-card::after {
    content: "";
    position: absolute;
    top: 0; 
    right: 0; 
    width: 4px; 
    height: 100%;
    background: linear-gradient(to bottom, #ff6600, transparent);
    opacity: 0.8;
}


.vlp-btn-primary {
    background: linear-gradient(135deg, #ff6600 0%, #e65c00 100%) !important;
    border: none !important;
    color: white !important;
    font-weight: 500 !important;
    border-radius: 6px !important;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.vlp-btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(255, 102, 0, 0.3);
}

.vlp-btn{
    padding: 12px 25px !important;
    margin-top: 10px;
}

.select-bloqueado + .select2-container--default .select2-selection--single {
    background-color: #2c2c2c !important; 
    border: 1px solid #ff8c00 !important;   
    pointer-events: none;              
    opacity: 0.8;                           
}

.select-bloqueado + .select2-container--default .select2-selection__rendered {
    color: #ffffff !important; 
}


.vuelo-retorno {
    border-left: 5px solid #ff8c00 !important; 
    background-color: rgba(255, 140, 0, 0.05) !important; 
}

.fd-user-card {
    background-color: #14191f; 
    border: 1px solid #2d3641;
    border-radius: 12px;
    padding: 15px;
    position: relative;
    height: 100%;
}

.fd-user-avatar-wrapper {
    display: flex;
    justify-content: center;
}

.fd-user-name {
    font-size: 15px;
    color: #ffffff;
    font-weight: 500;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.fd-user-revenue {
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin: 10px 0;
}

.fd-user-stats-label {
    font-size: 12px;
    color: #888;
}

.fd-progress-mini {
    height: 6px;
    background-color: #262c34;
    border-radius: 10px;
    overflow: hidden;
    width: 100%;
}

.fd-progress-bar {
    height: 100%;
    display: block;
    transition: width 0.6s ease;
}

.picker__list {
    list-style: none;
    padding: 0.75em 0 0.5em;
}

.picker__list-item {
    border-bottom: 1px solid #f3f3f3;
    padding: 10px;
    font-family: 'Segoe UI', Tahoma, sans-serif;
    color: #393939;
}

.picker__list-item--highlighted, 
.picker--opened .picker__list-item--selected:hover {
    background: #fcd1b6 !important;
    border-color: #f7833b !important;
    color: #fff;
}


.picker__list-item:hover {
    background: #fef0e7;
    border-color: #f7833b;
    cursor: pointer;
}

.picker__button--clear {
    display: none !important;
}

:root {
    --bg-dashboard: #2b3035;
    --bg-card: #202933;
    --border-color: #2d3641;
    --text-primary: #ffffff;
    --text-secondary: #aaaaaa;
    --color-amber: #f76004; /
}

.fd-dashboard-row {
    display: flex;
    gap: 20px; 
    width: 100%;
    margin-bottom: 20px;
    align-items: stretch; 
}

.fd-revenue-info {
    flex: 1;
    padding-left: 10px;
}

.fd-area-wrapper {
    flex: 2; 
    height: 100%;
}


.fd-card {
    background-color: var(--bg-card);
    border-radius: 12px;
    padding: 15px 25px;
    font-family: "Roboto Condensed", sans-serif;
    color: var(--text-primary);
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    width: 100%; 
    margin-bottom: 20px;
}

.fd-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 10px;
    margin-bottom: 15px;
}

.fd-card-title {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 18px;
    font-weight: 500;
    margin: 0;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.fd-aircraft-badge {
    font-size: 18px;
    color: var(--text-secondary);
}

.fd-aircraft-badge .highlight {
    color: var(--color-amber);
    font-weight: 400;
}


.fd-gauge-text-overlay {
    z-index: 1; 
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 100%;
    pointer-events: none;
}

.fd-separator {
    width: 37%;
    height: 1px;
    background-color: #444; 
    margin: 5px auto; 
}

.fd-span-label-total {
    font-family: "Roboto Condensed", sans-serif;
    Letter-spacing: 1.6px;
    font-size: 16px;
    color: #fff;
    text-transform: uppercase;
    display: block;
    margin-bottom: 4px;
}

.fd-span-value-total {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 30px; 
    font-weight: 500;
    color: #fff;
    display: block;
    line-height: 1;
}

.fd-span-label-month {
    font-family: "Roboto Condensed", sans-serif;
    Letter-spacing: 1.6px;
    font-size: 16px;
    color: #fff;
    text-transform: uppercase;
    display: block;
    margin-top: 5px;
}

.fd-span-value-month {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 30px;
    font-weight: 500;
    color: var(--color-amber); 
    display: block;
    line-height: 1.2;
}

.fd-gauge-wrapper, 
.fd-bars-wrapper {
    height: 280px; 
    position: relative;
    display: block; 
}

#gauge-hours, 
#column-hours,
#chart-cost {
    height: 100% !important;
    width: 100% !important;
}


.aircraft-filter-container {
    background: #2b3035;
    padding: 15px 15px 5px 15px;
    border-radius: 15px;
    margin-bottom: 20px;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.aircraft-scroll-wrapper {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 10px; 
    scrollbar-width: thin; 
    -webkit-overflow-scrolling: touch; 
}

.charts-row {
    display: flex;
    gap: 10px;
    align-items: flex-end;
}

.gauge-container {
    width: 35%;
    height: 250px;
}

.column-container {
    width: 65%;
    height: 250px;
}

.plane-tag {
    flex: 0 0 auto; 
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.01);
    border: 1px solid var(--plane-color);
    color: var(--plane-color);
    padding: 3px 18px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.plane-tag:hover, .plane-tag.active {
    opacity: 1;
    background: rgba(191, 191, 191, 0.2);
}

.plane-icon-svg {
    width: 16px; 
    height: 16px;
    fill: var(--plane-color);
    flex-shrink: 0; 
    transition: all 0.3s ease;
}

.aircraft-scroll-wrapper::-webkit-scrollbar {
    height: 4px; 
	background: #f76004; 
}

.aircraft-scroll-wrapper::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
}

.aircraft-scroll-wrapper::-webkit-scrollbar-thumb {
    background: #444; 
    border-radius: 10px;
}

.aircraft-scroll-wrapper::-webkit-scrollbar-thumb:hover {
    background: #f76004; 
}

.no-records {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px;
    background: rgba(255, 255, 255, 0.05); 
    border-radius: 12px;
    border: 1px dashed rgba(255, 255, 255, 0.2);
    color: #ccc;
    text-align: center;
    margin-top: 20px;
}

.no-records i {
    font-size: 3rem;
    margin-bottom: 15px;
    color: #f76004; 
    opacity: 0.6;
}

.no-records p {
    font-size: 1.1rem;
    font-weight: 300;
}

.flights-wrapper {
    max-height: 70vh;
	height: auto;
    overflow-y: auto;
    padding-right: 10px;
    margin-top: 20px;
	-webkit-overflow-scrolling: touch;
}

.flights-wrapper::-webkit-scrollbar {
    width: 6px;
}

.flights-wrapper::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
}

.flights-wrapper::-webkit-scrollbar-thumb {
    background: #f76004; 
    border-radius: 10px;
}

.filters {
    /*display: flex;*/
    justify-content: space-between;
    margin-bottom: 20px;
    font-size: 15px;
    color: #a0a0a0;

	overflow-y: auto;
    padding-right: 10px;
    margin-top: 20px;
}

.year-buttons {
    margin-top: 5px;
}

.btn-year {
    background: #252a34;
    border: none;
    color: white;
    padding: 5px 15px;
    cursor: pointer;
    border-radius: 4px;
	margin-right: 10px;
}

.btn-year:hover {
    background: rgba(255, 103, 1, 0.2);
}

.btn-year.active {
    background: #f76004;
}

.flight-card {
    background-color: #212529;
    border: 1px solid rgba(247, 96, 4, 0.5);
    border-radius: 12px;
    display: flex;
    align-items: center;
    padding: 9px 0px 9px 20px;
    margin-bottom: 15px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    position: relative;
    overflow: hidden;
}

.date-section {
    flex: 0 0 auto; 
    border-right: 1px solid #333;
    padding-right: 20px;
    margin-right: 20px; 
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.date-main {
    display: flex;
    align-items: center;
    gap: 15px;
	margin-bottom: 12px;
}

.day {
    font-size: 2.5rem;
    font-weight: bold;
	border-right: 1px solid #333;
	padding-right: 15px;
	line-height: 1;
}

.month-year {
    font-size: 0.9rem;
    line-height: 1.1;
    display: flex;
    flex-direction: column;
}

.status-badge {
    display: block; 
    text-align: center; 
    padding: 6px 6px; 
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    border: 1px solid;
    width: auto; 
    box-sizing: border-box; 
	letter-spacing: 1.5px;
	background-color:#b9b9b990;
}

.route-section {
    flex: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    padding: 0px 30px 0px 0px;
}

.airport {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 1;
    min-width: 0;
}

.airport h2 {
    font-size: 30px;
    margin: 0;
	line-height: 1;
}

.airport p {
	margin: 5px 0 0 0;
    color: #a0a0a0;
    font-size: 12px;
    max-width: 300px; 
    line-height: 1.2;
    width: 100%;
}

.route-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 5px; 
    color: #a0a0a0; 
    flex-shrink: 0;
}

.route-arrow i {
    font-size: 2rem; 
    font-weight: bold;
}

.info-section {
    flex: 1;
    display: flex;
    flex-direction: row;
    gap: 10px;
    background: rgba(255,255,255,0.03);
    padding: 8px 8px;
    border-radius: 8px;
	margin: 0 10px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.05);
	/*min-width: 350px;*/
}

.info-block {
    flex: 1; 
    display: flex;
    align-items: center;
    justify-content: center; 
    gap: 10px;
    padding: 0 5px;
}


.plane-block {
   	display: flex;
    flex-direction: column; 
    align-items: center;
    flex-shrink: 0; 
}

.plane-id {
	font-family: 'Inter', sans-serif;
    font-size: 14px; 
    color: #ffffff;
    /*margin: 5px 0px 0px 0px;*/
    font-weight: 400;
	text-align: center;
	margin: 0;
}

.icon-wrap {
    width: 50px;  
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.plane-svg {
    width: 52px;
    height: 52px;
    display: block;
	border-radius: 50%; 
    border: 1px solid #737373; 
	object-fit: cover; 
	padding: 5px;
	object-fit: contain;
}

.vertical-divider {
    width: 1px;
    height: 60px;
    background-color: rgba(255, 255, 255, 0.1);
    margin: 0 10px;
	flex-shrink: 0;
}

.pilot-block {
   	display: flex;
    flex-direction: column; 
    align-items: center;
    flex-shrink: 0
}

.pilot-img {
    width: 52px;
    height: 52px;
    border-radius: 50%; 
    border: 1px solid #737373; 
    object-fit: cover; 
    display: block;
	padding: 5px;
	object-fit: contain;
}

.pilot-text-group {
    text-align: left;
}

.pilot-text-group .label {
    font-size: 13px;
    color: #a0a0a0;
    margin: 0 0 2px 0; 
    letter-spacing: 0.5px;
    font-weight: 500;
	text-align: center;
}

.pilot-text-group .name {
    font-size: 14px;
    color: #ffffff;
    margin: 0;
    font-weight: 400;
	text-align: center;
}

.details-btn {
    background: none;
    border: none;
    border-left: 1px solid #333;
    color: #f76004;
	margin-left: 8px;
    cursor: pointer;

    display: flex;
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    gap: 5px; 
    
    height: 100%;
    padding: 5px 15px; 
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.details-text {
    writing-mode: vertical-rl; 
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    white-space: nowrap; 
	rotate: calc(180deg);
}

.details-arrow {
    width: 20px; 
    height: 20px;
    flex-shrink: 0; 
}

.details-arrow path {
    stroke: #f76004; 
    transition: fill 0.3s ease;
}

.details-btn:hover {
    background: rgba(212, 175, 55, 0.05);
}


.user-scroll-area {
    max-height: 420px; 
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 5px; 
}

.user-scroll-area::-webkit-scrollbar {
    width: 6px;
}

.user-scroll-area::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
}

.user-scroll-area::-webkit-scrollbar-thumb:hover {
    background: #f7971e;
}

.user-scroll-area {
    max-height: 420px; 
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 5px; 
}

.user-scroll-area::-webkit-scrollbar {
    width: 6px;
}

.user-scroll-area::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
}

.user-scroll-area::-webkit-scrollbar-thumb:hover {
    background: #f7971e; 
}


.tags-aviones {
    display: flex;            
    flex-wrap: nowrap;       
    overflow-x: auto;
	overflow-y: hidden;          
    gap: 10px;               
    -webkit-overflow-scrolling: touch; 
}

.timeline-scroll-container {
    max-height: 520px;    
    overflow-y: auto;    
    overflow-x: hidden; 
    padding-right: 5px;  
}

.timeline-scroll-container::-webkit-scrollbar {
    width: 6px;
}

.timeline-scroll-container::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.timeline-scroll-container::-webkit-scrollbar-thumb {
    background: #ff6701; 
    border-radius: 10px;
}

.timeline-scroll-container::-webkit-scrollbar-thumb:hover {
    background: #e65c00;
}

.card-detalle{
	background-color: #22252b !important;
	border-end-end-radius: 20px;
	border-bottom-left-radius: 20px;
}

.fc-toolbar-chunk {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.fc-daygrid-day, 
.fc-daygrid-day-frame, 
.fc-daygrid-day-top,
.fc-daygrid-day-number {
    cursor: default !important;
}

.fc-event, 
.fc-event-main,
.fc-event-title {
    cursor: pointer !important;
}

.fc-daygrid-day {
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.fc .fc-today-button {
    background-color: #32393f !important; 
    border-color: #32393f !important;
}

.fc .fc-daygrid-day.fc-day-today {
    background-color: rgba(255, 123, 0, 0.774) !important; 
}

.fc .fc-button-primary {
    background-color: #ff6701 !important; 
    border-color: #ff6701 !important;
    color: #ffffff !important;
    text-transform: capitalize; 
}


.fc .fc-button-primary:hover {
    background-color: #e65c00 !important;
    border-color: #e65c00 !important;
}


.fc .fc-button-primary:not(:disabled).fc-button-active, 
.fc .fc-button-primary:not(:disabled):active {
    background-color: #cc5200 !important;
    border-color: #cc5200 !important;
    box-shadow: none !important;
}


.fc .fc-button-primary:disabled {
    background-color: #ffb380 !important;
    border-color: #ffb380 !important;
}

.navbar-heva { 
	background-color: #1a2c3e; color: white; 
}

.dt-det{
	color: #e4e5e6;
}

.card-header-heva::after {
    content: "";
    display: block;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(255,255,255,0.2), transparent);
    margin-top: 10px;
}

.card-header-heva { 
    background: linear-gradient(180deg, #1f1f1f, #141414);
    color: #e5e7eb;

    text-align: center;
    font-weight: 600;
    font-size: 18px;

    padding: 16px;

    border-top-left-radius: 14px !important;
    border-top-right-radius: 14px !important;

    border-bottom: 1px solid rgba(255, 255, 255, 0.05); /* 👈 separación sutil */

    letter-spacing: 0.5px;
}

.card-text-title{
	font-size: 15px;
	color: #e4e5e6;
}

.timeline-item { 
	position: relative;
    border-left: 5px solid #e3e6f0; 
    padding-left: 30px;
    margin-bottom: 25px;
    padding-bottom: 10px;
	background-color: #1a1d21;
	border-radius: 15px;
}

.itinerary-card{
    border-radius: 16px;
    padding: 2px; /* CLAVE para el borde */
    background: linear-gradient(135deg, #ff7a00, #ff3d00);
    overflow: hidden;
    border: none;
}

.timeline-item::after {
    content: '';
    display: block;
    
    width: 20px;
    height: 20px;
    background-color: var(--dot-color, #4e73df);
    border-radius: 50%;
    
    position: absolute;
    left: -13px; 
    top: 0px;
    border: 3px solid white; 
    box-shadow: 0 3px 6px rgba(0,0,0,0.15);
}

.calendar{
	padding: 40px 40px;
}

.fc .fc-toolbar-title {
    text-transform: capitalize;
}

.fc .fc-daygrid-day-frame {
    min-height: 100px; 
}

.fc-event {
    cursor: pointer !important;
}

.fc-event:hover {
    filter: brightness(0.9);
    transition: 0.2s;
}

.br{
	border-radius: 15px;
}

.back-to-top {


	display: none;


	width: 40px;


	height: 40px;


	line-height: 40px;


	text-align: center;


	font-size: 26px;


	color: white;


	position: fixed;


	border-radius: 10px;


	bottom: 20px;


	right: 12px;


	background-color: #5e72e4;


	z-index: 5;


}


.back-to-top:hover {


	color: white;


	background-color: #000;


	transition: all .5s;


}


.breadcrumb-title {


	font-size: 20px;


	border-right: 1.5px solid #aaa4a4;


}


.page-breadcrumb .breadcrumb li.breadcrumb-item {


	font-size: 16px;


}


.page-breadcrumb .breadcrumb-item+.breadcrumb-item::before {


	display: inline-block;


	padding-right: .5rem;


	color: #6c757d;


	font-family: 'LineIcons';


	content: "\ea5c";


}


.icon-badge {


	width: 45px;


	height: 45px;


	background: #f2f2f2;


	display: flex;


	align-items: center;


	justify-content: center;


	border-radius: 50%;


}


.widgets-icons {


	width: 50px;


	height: 50px;


	display: flex;


	align-items: center;


	justify-content: center;


	background-color: #ededed;


	font-size: 26px;


	border-radius: 10px;


}


.widgets-icons-2 {
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #ededed;
	font-size: 27px;
	border-radius: 10px
}


.widgets-icons-small {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ededed;
    font-size: 26px;
    border-radius: 10px;
}


.border-light-2 {
    border-color: rgb(255 255 255 / 12%)!important;
}


.product-list {


	position: relative;


	height: 450px;


}


.customers-list {


	position: relative;


	height: 450px;


}

.store-metrics {
    position: relative;
    height: 450px;
}

.theme-icons {


	background-color: #FFF;


}


.lead-table .table {


	border-collapse: separate;


	border-spacing: 0 10px;


}


.fm-menu .list-group a {


	font-size: 16px;


	color: #5f5f5f;


	display: flex;


	align-items: center;


}


.fm-menu .list-group a i {


	font-size: 23px;


}


.fm-menu .list-group a:hover {


	background: #5e72e4;


	color: #ffffff;


	transition: all .2s ease-out;


}


.fm-file-box {


	font-size: 25px;


	background: #e9ecef;


	width: 44px;


	height: 44px;


	display: flex;


	align-items: center;


	justify-content: center;


	border-radius: .25rem;


}


.fm-icon-box {


	font-size: 32px;


	background: #ffffff;


	width: 52px;


	height: 52px;


	display: flex;


	align-items: center;


	justify-content: center;


	border-radius: .25rem;


}


.user-plus {


	width: 33px;


	height: 33px;


	margin-left: -14px;


	line-height: 33px;


	background: #ffffff;


	border-radius: 50%;


	text-align: center;


	font-size: 22px;


	cursor: pointer;


	border: 1px dotted #a9b2bb;


	color: #404142;


}


.user-groups img {


	margin-left: -14px;


	border: 1px solid #e4e4e4;


	padding: 2px;


	cursor: pointer;


}


.contacts-social a {


	font-size: 16px;


	width: 36px;


	height: 36px;


	line-height: 36px;


	background: #ffffff;


	border: 1px solid #eeecec;


	text-align: center;


	border-radius: 50%;


	color: #2b2a2a;


}


.customers-contacts a {


	font-size: 16px;


	width: 34px;


	height: 34px;


	display: flex;


	align-items: center;


	justify-content: center;


	background: #ffffff;


	border: 1px solid #eeecec;


	text-align: center;


	border-radius: 50%;


	color: #2b2a2a;


}


.order-actions a {


	font-size: 18px;


	width: 34px;


	height: 34px;


	display: flex;


	align-items: center;


	justify-content: center;


	background: #f1f1f1;


	border: 1px solid #eeecec;


	text-align: center;


	border-radius: 20%;


	color: #2b2a2a;


}


.customers-list .customers-list-item {


	-webkit-transition: all 0.2s;


	-o-transition: all 0.2s;


	transition: all 0.2s;


}


@media (min-width: 992px) {


	.customers-list .customers-list-item:hover {


		background-color: #f8f9fa;


		border-radius: 10px;


		margin-top: -.25rem;


		margin-bottom: .25rem;


		-webkit-box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.2);


		box-shadow: 0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.2);


	}


}


.right-15 {


	right: 15px!important;


}


.font-13 {


	font-size: 13px;


}


.font-14 {


	font-size: 14px;


}


.font-18 {


	font-size: 18px;


}


.font-20 {


	font-size: 20px;


}


.font-22 {


	font-size: 22px;


}


.font-24 {


	font-size: 24px;


}


.font-30 {


	font-size: 30px;


}


.font-35 {


	font-size: 35px;


}


.font-50 {


	font-size: 50px;


}


.font-60 {


	font-size: 60px;


}


.radius-30 {


	border-radius: 30px;


}


.radius-10 {


	border-radius: 10px;


}


.radius-15 {

	border-radius: 15px;

}


.facturacion-view .fact-modal {
    background: #1e1e2f;
    color: #fff;
    border-radius: 15px;
}

.facturacion-view .fact-modal-header {
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.facturacion-view .fact-input {
    background: rgba(255,255,255,0.05);
    border: none;
    color: #fff;
}

.facturacion-view .btn-generar-excel {
    width: 100%;
    padding: 10px;
    background: linear-gradient(135deg, #1e7e34, #28a745);
    border: none;
    border-radius: 10px;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
}
/* SOLO FACTURACIÓN */
/* contenedor calendario */
.flatpickr-calendar {
    background: #1c1f2e;
    border-radius: 12px;
    border: none;
    box-shadow: 0 10px 30px rgba(0,0,0,0.6);
}

/* días */
.flatpickr-day {
    color: #fff;
}

/* hover */
.flatpickr-day:hover {
    background: rgba(255,122,0,0.2);
}

/* seleccionado */
.flatpickr-day.selected {
    background: #ff7a00;
    border: none;
}

/* mes */
.flatpickr-current-month {
    color: #fff;
}

/* flechas */
.flatpickr-prev-month,
.flatpickr-next-month {
    fill: #ff7a00;
}

/* HEADER PRO */
.facturacion-view .fact-header-pro {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    background: linear-gradient(135deg, #060606, #1e1e1e);
    padding: 20px;
    border-radius: 20px;
    margin-bottom: 25px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
}

/* SOLO este modal */
#modalDetalle .modal-body {
    max-height: 70vh;
    overflow-y: auto;
    padding-right: 10px;
}

/* scrollbar solo aquí */
#modalDetalle .modal-body::-webkit-scrollbar {
    width: 6px;
}

#modalDetalle .modal-body::-webkit-scrollbar-thumb {
    background: #ff7a00;
    border-radius: 10px;
}

/* centro */
.facturacion-view .fact-header-center {
    text-align: center;
}

.facturacion-view #mes-actual {
    font-size: 24px;
    font-weight: 600;
    margin: 0;
}

/* lados */
.facturacion-view .header-left {
    justify-self: start;
}

.facturacion-view .header-right {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* botones navegación */
.facturacion-view .nav-btn {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    color: #fff;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    cursor: pointer;
    transition: 0.2s ease;
}

.facturacion-view .nav-btn:hover {
    background: #ff7a00;
    transform: scale(1.05);
}

/* 🔥 BOTÓN EXCEL PRO */
.btn-excel-pro {
    display: flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, #1e7e34, #28a745);
    border: none;
    color: #fff;
    padding: 7px 14px;
    border-radius: 12px;
    font-size: 13px;
    cursor: pointer;
    transition: 0.2s ease;
}

.btn-excel-pro:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(40,167,69,0.4);
}

/* INPUT FECHA PRO */
.modal .fact-input {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    color: #fff;
    border-radius: 12px;
    padding: 10px 12px;
    transition: all 0.2s ease;
}

/* hover */
.modal .fact-input:hover {
    border-color: rgba(255,122,0,0.5);
}

/* focus 🔥 */
.modal .fact-input:focus {
    border-color: #ff7a00;
    box-shadow: 0 0 0 2px rgba(255,122,0,0.2);
    background: rgba(255,255,255,0.06);
    outline: none;
}

/* icono calendario */
.modal input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(56%) sepia(90%) saturate(600%) hue-rotate(5deg) brightness(105%);
    cursor: pointer;
}

/* texto */
.modal label {
    color: #bbb;
    font-size: 13px;
    margin-bottom: 5px;
}

.fact-modal {
    background: linear-gradient(135deg, #252525, #131313);
    box-shadow: 0 10px 30px rgba(0,0,0,0.6);
}

/* select año integrado */
.facturacion-view #select-anio {
    margin-top: 6px;
    padding: 4px 10px;
    border-radius: 8px;
    border: none;
    background: rgba(255,255,255,0.05);
    color: #fff;
    text-align: center;
}

.facturacion-view .fact-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* SELECT AÑO (ANTES NO SE VEÍA) */
.facturacion-view #select-anio {
    margin-top: 8px;
    padding: 6px 12px;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,0.1);
    background: #1e1e2f;
    color: #fff;
    font-size: 13px;
    cursor: pointer;

    /* 🔥 esto es clave */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    min-width: 80px;
    text-align: center;
}

/* flechita custom */
.facturacion-view #select-anio {
    background-image: url("data:image/svg+xml;utf8,<svg fill='white' height='20' viewBox='0 0 24 24' width='20'><path d='M7 10l5 5 5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 14px;
}

/* opcional glow */
.facturacion-view .fact-header-pro::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 18px;
    background: linear-gradient(90deg, transparent, rgba(255,122,0,0.2), transparent);
    opacity: 0.2;
    pointer-events: none;
}

/*resumen facturacion */
.facturacion-view .fact-card {
    background: linear-gradient(135deg, #212529, #ff8100bf);
    border-radius: 18px;
    padding: 20px;
    margin-bottom: 20px;
    color: #fff;
    border: 1px solid rgba(255,255,255,0.05);
    box-shadow: 0 10px 25px rgba(0,0,0,0.4);
    transition: all 0.25s ease;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.facturacion-view .fact-card:hover {
    transform: translateY(-4px) scale(1.01);
    box-shadow: 0 15px 35px rgba(0,0,0,0.6);
    border-color: #ff7a00;
}


/* efecto lateral como historial */
.facturacion-view .fact-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: #ff7a00;
}

/* saldo en rojo más elegante */
.facturacion-view .saldo-rojo {
    color: #ff4d4d;
    font-weight: bold;
}

.facturacion-view .saldo-verde {
    color: #00e676;
    font-weight: bold;
}

.facturacion-view .fact-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.facturacion-view .fact-title {
    font-size: 18px;
    font-weight: bold;
}

.facturacion-view .fact-range {
    font-size: 13px;
    color: #aaa;
}

.facturacion-view .fact-body {
    display: flex;
    justify-content: space-between;
    margin-top: 15px;
    flex-wrap: wrap;
}

.facturacion-view .fact-box {
    flex: 1;
    min-width: 120px;
}

.facturacion-view .fact-label {
    font-size: 12px;
    color: #aaa;
}

.facturacion-view .fact-value {
    font-size: 16px;
    font-weight: bold;
}

.facturacion-view .fact-actions {
    margin-top: 15px;
}

.facturacion-view .fact-actions button {
    margin-right: 10px;
    padding: 6px 12px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
}

/* DETALLE VUELO */
.detalle-fact {
    color: #fff;
}

.detalle-item {
    background: #181818;
    border-radius: 12px;
    padding: 15px;
    margin-bottom: 12px;
    border: 2px solid rgb(249 136 25 / 66%);
}

.detalle-top {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.detalle-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.btn-pagar {
    background: #ff7a00;
    border: none;
    color: #fff;
    padding: 6px 12px;
    border-radius: 8px;
    cursor: pointer;
}

.detalle-total {
    margin-top: 15px;
    padding: 15px;
    background: #ff8f00;
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    font-weight: bold;
}

.modal-close-circle {
    background: rgba(255,255,255,0.08);
    border: none;
    color: #fff;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.modal-close-circle:hover {
    background: #ff4d4d;
    box-shadow: 0 0 10px rgba(255,77,77,0.6);
}



.input-icon span {
    font-size: 16px;
    left: 15px;
}

.input-icon .form-control {
    padding-left: 2.5rem;
}

.error {
    color: #dc3545;
}

.auth-img-cover-login {
    width: 100% !important;
    height: 100vh !important;
    object-fit: cover !important;
    display: block !important;
    -webkit-clip-path: url(#wave-right);
    clip-path: url(#wave-right);
    margin-right: -2px;
}

.auth-cover-left {
    background-color: transparent !important;
    padding: 0 !important;
}

.auth-cover-right {
    display: flex;
    background-color: #fdfdfd;
    min-height: 100vh;
}

form select.error, form textarea.error, form input.error, form input.error:focus, form textarea.error:focus, form select.error:focus {
    border-color: #ea5455 !important;
}

.row.row-group>div {
    border-right: 1px solid rgba(0, 0, 0, 0.12);
}

.row.row-group>div:last-child {
    border-right: none;
}

.cursor-pointer {

	cursor: pointer

}

.dash-wrapper {
    margin: -1.5rem -1.5rem -5.5rem -1.5rem;
    padding: 1.5rem 1.5rem 6.5rem 1.5rem;
}

.dash-array-chart-box {
    width: 105px;
    height: 90px;
    position: relative;
    top: -15px;
    right: 30px;
}


.piechart-legend {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}


.chart-js-container1 {
    position: relative;
    height: 300px;
}

.chart-js-container2 {
    position: relative;
    height: 250px;
}

.chart-js-container3 {
	position: relative;
	height: 380px
}

.chart-js-container4 {
	position: relative;
	height: 320px
}

.chart-container{

	position:relative;

	height:380px;

}


.chart-container-0{
	position:relative;
	height:320px;
}

.chart-container-1{
	position:relative;
	height:260px;
}

.chart-container-2{
	position:relative;
	height:210px;
}

.chart-container-3{
	position:relative;
	height:188px;
}

.chart-container-4{
	position:relative;
	height:162px;
}

.chart-container-5{
	position:relative;
	height:110px;
}

.chart-container-6{
	position:relative;
	height:205px;
}

.chart-container-7{
	position:relative;
	height:60px;
}
 .chart-container-8 {
   position: relative;
   height: 260px;
}
.chart-container-9 {
   position: relative;
   height: 280px;
}
.chart-container-10 {
   position: relative;
   height: 300px;
   top: 20px;
}
.chart-container-11 {
   position: relative;
   height: 280px;
}

.chart-container-12 {
   position: relative;
   height: 160px;
}
.chart-container-13 {
   position: relative;
   height: 240px;
}
.chart-container-14{
  position:relative;
  height:40px;
}

.w_chart {
	position: relative;
	display: inline-block;
	width: 80px !important;
	height: 80px !important;
	text-align: center;
	color: #32393f;
  }

  
  .w_chart canvas {
	position: absolute;
	top: 0;
	left: 0;
	width: 80px !important;
	height: 80px !important;
  }
  .w_percent {
	display: inline-block;
	line-height: 80px !important;
	z-index: 2;
	font-size: 1.3rem;
  }
  .w_percent:after {
	content: '%';
	margin-left: 0.1em;
	font-size: .8em;
  }

.cursor-pointer {
	
	cursor: pointer;

}

.options {
    font-size: 24px;
    color: #4c5258;
    cursor: pointer;
}

.review-list {
    position: relative;
    height: 360px;
    overflow-y: scroll;
}

.chip {


	display: inline-block;


	height: 32px;


	padding: 0 12px;


	margin-right: 1rem;


	margin-bottom: 1rem;


	font-size: 14px;


	font-weight: 500;


	line-height: 32px;


	color: rgba(0, 0, 0, 0.70);


	cursor: pointer;


	background-color: #f1f1f1;


	border: 1px solid rgba(0, 0, 0, 0.15);


	border-radius: 16px;


	-webkit-transition: all .3s linear;


	transition: all .3s linear;


	box-shadow: none;


}


.chip img {


	float: left;


	width: 32px;


	height: 32px;


	margin: 0 8px 0 -12px;


	border-radius: 50%;


}


.chip .closebtn {


	padding-left: 10px;


	font-weight: bold;


	float: right;


	font-size: 16px;


	cursor: pointer;


}


.chip.chip-md {


	height: 42px;


	line-height: 42px;


	border-radius: 21px;


}


.chip.chip-md img {


	height: 42px;


	width: 42px;


}

/* Navs y Tabs */


.nav-primary.nav-tabs .nav-link.active {


	color: #5e72e4;


	border-color: #5e72e4 #5e72e4 #fff;


}


.nav-danger.nav-tabs .nav-link.active {


	color: #f41127;


	border-color: #f41127 #f41127 #fff;


}


.nav-success.nav-tabs .nav-link.active {


	color: #17a00e;


	border-color: #17a00e #17a00e #fff;


}


.nav-warning.nav-tabs .nav-link.active {


	color: #ffc107;


	border-color: #ffc107 #ffc107 #fff;


}


.nav-pills-danger.nav-pills .nav-link.active {


	color: #fff;


	background-color: #f41127;


}


.nav-pills-success.nav-pills .nav-link.active {


	color: #fff;


	background-color: #17a00e;


}


.nav-pills-warning.nav-pills .nav-link.active {


	color: #000;


	background-color: #ffc107;


}


.nav-search input.form-control {


	background-color: rgb(255 255 255 / 20%);


	border: 1px solid rgb(255 255 255 / 45%);


	color: #fff;


}


.nav-search button[type='submit'] {


	background-color: rgb(255 255 255 / 20%);


	border: 1px solid rgb(255 255 255 / 32%);


	color: #fff;


}


.nav-search input.form-control::placeholder {


	opacity: 0.5 !important;


	color: #fff !important;


}


.nav-search input.form-control::-ms-input-placeholder {


	color: #fff !important;


}


.round-pagination.pagination .page-item:first-child .page-link {


	border-top-left-radius: 30px;


	border-bottom-left-radius: 30px;


}


.round-pagination.pagination .page-item:last-child .page-link {


	border-top-right-radius: 30px;


	border-bottom-right-radius: 30px;


}


/* Background Colors */


.bg-light-primary {


	background-color: rgb(13 110 253 / 0.11) !important;


}


.bg-light-success {


	background-color: rgb(23 160 14 / 0.11)!important;


}


.bg-light-danger {


	background-color: rgb(244 17 39 / 0.11)!important;


}


.bg-light-warning {


	background-color: rgb(255 193 7 / 0.11)!important;


}


.bg-light-info {


	background-color: rgb(13 202 240 / 18%)!important;


}



.bg-light-transparent {
	background-color: rgb(0 0 0 / 15%)!important
}

.bg-gradient-deepblue {
    background: #6a11cb;
    background: -webkit-linear-gradient(
	45deg
	, #6a11cb, #2575fc)!important;
		background: linear-gradient(
	45deg
	, #6a11cb , #2575fc)!important;
}


.bg-gradient-orange {
    background: #fc4a1a;
    background: -webkit-linear-gradient(
	45deg
	, #fc4a1a, #f7b733)!important;
		background: linear-gradient(
	45deg
	, #fc4a1a, #f7b733)!important;
}

.bg-gradient-ohhappiness {
    background: #00b09b;
    background: -webkit-linear-gradient(
	45deg
	, #00b09b, #96c93d)!important;
		background: linear-gradient(
	45deg
	, #00b09b, #96c93d)!important;
}


.bg-gradient-ibiza {
    background: #ee0979;
    background: -webkit-linear-gradient(
	45deg
	, #ee0979, #ff6a00)!important;
		background: linear-gradient(
	45deg
	, #ee0979, #ff6a00)!important;
}


.bg-gradient-scooter {
    background: #17ead9;
    background: -webkit-linear-gradient(
45deg
, #17ead9, #6078ea)!important;
    background: linear-gradient(
45deg
, #17ead9, #6078ea)!important;
}


.bg-gradient-bloody {
    background: #f54ea2;
    background: -webkit-linear-gradient(
45deg
, #f54ea2, #ff7676)!important;
    background: linear-gradient(
45deg
, #f54ea2, #ff7676)!important;
}


.bg-gradient-quepal {
    background: #42e695;
    background: -webkit-linear-gradient(
45deg
, #42e695, #3bb2b8)!important;
    background: linear-gradient(
45deg
, #42e695, #3bb2b8)!important;
}


.bg-gradient-blooker {
    background: #ffdf40;
    background: -webkit-linear-gradient(
45deg
, #ffdf40, #ff8359)!important;
    background: linear-gradient(
45deg
, #ffdf40, #ff8359)!important;
}

.bg-gradient-voilet {
    background: linear-gradient(87deg,#8965e0 0,#bc65e0 100%)!important;
}

.bg-gradient-branding {
    background: linear-gradient(87deg,#2dce89 0,#2dcecc 100%)!important;
}

.bg-gradient-cosmic {


	/*background: linear-gradient(to right, rgb(142, 45, 226), rgb(74, 0, 224)) !important;*/

	background: #fdfdfd !important;
}


.bg-gradient-burning {


	background: linear-gradient(to right, rgb(255, 65, 108), rgb(255, 75, 43))!important;


}


.bg-gradient-lush {


	background: linear-gradient(to right, rgb(86, 171, 47), rgb(168, 224, 99))!important;


}


.bg-gradient-kyoto {


	background: linear-gradient(to right, rgb(247, 151, 30), rgb(255, 210, 0))!important;


}


.bg-gradient-blues {


	background: linear-gradient(to right, rgb(86, 204, 242), rgb(47, 128, 237))!important;


}


.bg-gradient-moonlit {


	background: linear-gradient(to right, rgb(15, 32, 39), rgb(32, 58, 67), rgb(44, 83, 100))!important;


}


.split-bg-primary {


	background-color: #0c62e0;


	border-color: #0c62e0;


}


.split-bg-secondary {


	background-color: #515a62;


	border-color: #515a62;


}


.split-bg-success {


	background-color: #128e0a;


	border-color: #128e0a;


}


.split-bg-info {


	background-color: #0bb2d3;


	border-color: #0bb2d3;


}


.split-bg-warning {


	background-color: #e4ad07;


	border-color: #e4ad07;


}


.split-bg-danger {


	background-color: #e20e22;


	border-color: #e20e22;


}


.bg-body {
    background-color: #f8f9fe!important;
}

.bg-dribbble {
    background-color: #ea4c89!important;
}

.bg-behance {
    background-color: #1769ff!important;
}

.bg-facebook {


	background-color: #3b5998!important;


}


.bg-twitter {


	background-color: #55acee!important;


}


.bg-google {


	background-color: #e52d27!important;


}


.bg-linkedin {


	background-color: #0976b4!important;


}


/* Text Color */

.text-option{
	color: #32393f!important
 }

.text-facebook{
	color: #3b5998!important
 }
 
 .text-twitter{
	 color: #55acee!important
  }
 
  .text-youtube{
	 color: #e52d27!important
  }

.text-sky-light {
    color: #b4d2ff;
}


/* Authentication */


.section-authentication-signin {


	height: 100vh;


}


.error-404 {


	height: 100vh;


	padding: 0 1rem;


}


.bg-login {


	background-image: url(../images/login-images/bg-login-img.jpg);


	background-size: cover;


	background-position: center;


	background-repeat: no-repeat;


	background-attachment: fixed;


}




.login-separater span {


	position: relative;


	top: 26px;


	margin-top: -10px;


	background: #ffffff;


	padding: 5px;


	font-size: 12px;


	color: #cbcbcb;


	z-index: 1;


}


/* Buttons */


.btn i {


	vertical-align: middle;


	font-size: 1.3rem;


	margin-top: -1em;


	margin-bottom: -1em;


	margin-right: 5px;


}


.btn-inverse-primary {
	color: #008cff;
    background-color: rgba(0, 140, 255, 0.18);
    border-color: rgb(209, 234, 255);
}

.btn-inverse-primary:hover {
	color: #008cff;
    background-color: rgba(0, 140, 255, 0.18);
    border-color: rgba(0, 140, 255, 0.18);
}

.btn-inverse-primary:focus {
	color: #008cff;
    background-color: rgba(0, 140, 255, 0.18);
    border-color: rgba(0, 140, 255, 0.18);
	box-shadow: 0 0 0 .25rem rgba(49, 132, 253, .3)
}


.btn-inverse-secondary {
	color: #75808a;
    background-color: rgba(117, 128, 138, 0.18);
    border-color: rgb(230, 232, 234);
}

.btn-inverse-secondary:hover {
	color: #75808a;
    background-color: rgba(117, 128, 138, 0.18);
    border-color: rgba(117, 128, 138, 0.18);
}

.btn-inverse-success {
	color: #15ca20;
    background-color: rgba(21, 202, 32, 0.18);
    border-color: rgb(212, 246, 214);
}

.btn-inverse-success:hover {
	color: #15ca20;
    background-color: rgba(21, 202, 32, 0.18);
    border-color: rgba(21, 202, 32, 0.18);
}
.btn-inverse-success:focus {
	color: #15ca20;
    background-color: rgba(21, 202, 32, 0.18);
    border-color: rgba(21, 202, 32, 0.18);
	box-shadow: 0 0 0 .25rem rgb(23 160 14 / 32%)
}

.btn-inverse-danger {
	color: #fd3550;
    background-color: rgba(253, 53, 80, 0.18);
    border-color: rgb(255, 218, 223);
}

.btn-inverse-danger:hover {
	color: #fd3550;
    background-color: rgba(253, 53, 80, 0.18);
    border-color: rgba(253, 53, 80, 0.18);
}
.btn-inverse-danger:focus {
	color: #fd3550;
    background-color: rgba(253, 53, 80, 0.18);
    border-color: rgba(253, 53, 80, 0.18);
	box-shadow: 0 0 0 .25rem rgba(225, 83, 97, .3)
}


.btn-inverse-warning {
	color: #ff9700;
    background-color: rgba(255, 151, 0, 0.18);
    border-color: rgb(255, 236, 209);
}

.btn-inverse-warning:hover {
	color: #ff9700;
    background-color: rgba(255, 151, 0, 0.18);
    border-color: rgba(255, 151, 0, 0.18);
}

.btn-inverse-warning:focus {
	color: #ff9700;
    background-color: rgba(255, 151, 0, 0.18);
    border-color: rgba(255, 151, 0, 0.18);
	box-shadow: 0 0 0 .25rem rgba(217, 164, 6, .3)
}

.btn-inverse-info {
	color: #0dceec;
    background-color: rgba(13, 206, 236, 0.18);
    border-color: rgb(211, 246, 252);
}

.btn-inverse-info:hover {
	color: #0dceec;
    background-color: rgba(13, 206, 236, 0.18);
    border-color: rgba(13, 206, 236, 0.18);
}

.btn-inverse-light {
	color: #a7aaaa;
    background-color: rgba(233, 234, 234, 0.2);
    border-color: rgb(251, 251, 251);
}

.btn-inverse-light:hover {
	color: #a7aaaa;
    background-color: rgba(233, 234, 234, 0.2);
    border-color: rgba(233, 234, 234, 0.2);
}

.btn-inverse-dark {
	color: #223035;
    background-color: rgba(34, 48, 53, 0.2);
    border-color: #d7d9da;
}

.btn-inverse-dark:hover {
	color: #223035;
    background-color: rgba(34, 48, 53, 0.2);
    border-color: rgba(34, 48, 53, 0.2);
}

.btn-facebook {


	box-shadow: 0 2px 2px 0 rgba(59, 89, 152, 0.14), 0 3px 1px -2px rgba(59, 89, 152, 0.2), 0 1px 5px 0 rgba(59, 89, 152, 0.12);


	background-color: #3b5998;


	border-color: #3b5998;


	color: #fff;


}


.btn-facebook:hover {


	color: #fff;


}


.btn-white {


	background-color: #fff;


	border-color: #e7eaf3;


}

.flatpickr-calendar {
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

.flatpickr-day.selected {
    background: #ff7d03;
    border-color: #0e0e0e;
}

.flatpickr-time input:hover,
.flatpickr-time input:focus {
    background: rgba(253, 197, 13, 0.247);
}

.input-vuelo {
    height: 40px;
    font-size: 18px;
    border-radius: 15px;
    padding: 10px 15px;
    border: 1px solid #757575;
}

.input-fecha {
    position: relative;
}

.input-vuelo.fecha {
    cursor: pointer;
}

.input-fecha i {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    color: #ff7d03;
    pointer-events: none;
}

.link {
    color: #ff7d03;
    cursor: pointer;
    font-size: 13px;
}

.btn-add{
	background-color: #ff7d03 !important;
	color: #000 !important;
}

.btn-reservar{
	background-color: #79e400 !important;
	color: #000 !important;
}

.bloque-vuelo {
    border-bottom: 1px solid #eee;
    padding-bottom: 30px;
}

.rowClass label {
    font-size: 18px;
}

.rowClass {
    padding-bottom:18px;
}

.fc-daygrid-day:not(.dia-pasado) {
    cursor: pointer;
}
.dia-pasado {
    cursor: default;
}



button.tools_edit {
	border-color: #505050f8;
	color:#18a3ff;
	background: #ffffff00;
	border-radius: 50%;
}

button.tools_remove {
	border-color: #505050f8;
	color:#ff4141;
	background: #ffffff00;
	border-radius: 50%;
}

.titulo-tab{
	color:#ff6701cb !important;
}

.nombre-edit{
	color: #ff6701cb;
}

.noti-item {
    cursor: pointer;
}

.noti-item:hover {
    background: #ff7a21cb;
}

.color_picker {
	cursor: pointer;
    border: none;
    outline: none;
    background: transparent;
    padding: 0;
}

.msg-info{
	color: #b1afaf !important;
}

.noti-item{
	padding: 0 15px 0 10px;
}


.color_picker::-webkit-color-swatch-wrapper {
    padding: 0;
}

.color_picker::-webkit-color-swatch {
    border: none;
}

.chart-container1 {


	position: relative;


	height: 340px;


}

.input-d{
    height: 40px;
    font-size: 18px;
    border-radius: 15px; 
    border: 1px solid #757575;
    background-color: #212529;
	padding: 10px 15px;
	color: #ffffff;
}

.select2-container--default .select2-selection__rendered {
    color: #fff !important;
}

.select2-container--default .select2-selection--single {
	height: 40px;
    font-size: 18px;
    border-radius: 15px; 
    border: 1px solid #757575;
    background-color: #212529;
    display: flex;
    align-items: center;
	padding: 10px 15px;
	color: #ffffff;
}

.select2-container--default.select2-container--disabled .select2-selection--single{
    background-color: #22272a;
}

.select2-container--default .select2-selection__rendered {
    color: #ffffff;
    padding-left: 12px;
}

.select2-container--default .select2-selection__arrow {
	color: #ffffff;
    height: 100%;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #ffa600;
	color: #000;
}

.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #ffa600;
    box-shadow: 0 0 0 0.2rem rgba(13,110,253,.25);
}

.select2-dropdown {
    border-radius: 10px;
    border: 1px solid #ffa600;
}

.select2-results__option--highlighted {
    background-color: #ffa600 !important;
    color: white;
}


table.users-table th
{
    background-color: #020c41;
    color: #ffffff;
}

.letra label {
    font-size: 16px;
}


div.claseActivo
{
    color: #5ca0f8;
}

div.claseSuspendido
{
    color: #ff3d3d;
}

i.cat
{
    font-size: 40px;
}


input::placeholder {


	color: #000 !important;


	opacity: .3 !important


}


.card-group {


	margin-bottom: 1.5rem;


}




.topbar .navbar .navbar-nav .nav-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 60px;
}




.topbar .navbar .navbar-nav .nav-link {

	color: #ffffff;
    font-size: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;

}


.topbar .navbar .navbar-nav .nav-link:hover,
.topbar .navbar .navbar-nav .nav-link:focus {
	background-color: rgba(255, 103, 1, 0.211);
    color: #ffffff;
}



.dropend .dropdown-toggle-nocaret:after, 
.dropdown-toggle-nocaret:after {


	display: none


}


.alert-count {


	position: absolute;
    top: 2px;
    left: 22px;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 500;
    color: #fff;
    background: #f62718;


}


.user-img {

	width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 0 solid #e5e5e5;
    padding: 0;

}


.user-info .user-name {


	font-size: 15px;


	font-weight: 500;


	color: #ffffff;


}


.user-info .designattion {


	font-size: 13px;


	color: #a9a8a8;


}


.user-box {


	display: flex;
    align-items: center;
    height: 60px;
    border-left: 1px solid #f0f0f0;
    border-right: 1px solid #f0f0f0;


}





.topbar .navbar .dropdown-app .dropdown-menu {
    width: 270px;
    border: 1px solid #dee2e6;
    padding: 0.5rem;
    border-radius: 16px;
    box-shadow: 0 0.5rem 1rem rgb(0 0 0 / 15%);
}

.topbar .navbar .dropdown-app .dropdown-menu .app-container {
    position: relative;
    height: 370px;
}


.topbar .navbar .dropdown-app .dropdown-menu .app-box {
    padding: .5rem;
    border-radius: 1rem;
    transition: .2s;
}

.topbar .navbar .dropdown-app .dropdown-menu .app-box:hover {
    background-color: #edf0f3;
}

.topbar .navbar .dropdown-app .dropdown-menu .app-name {
    color: #212529;
    font-size: .64rem;
    text-decoration: none;
    font-weight: 500;
}







.dropdown-large {


	position: relative;


}


.dropdown-large .dropdown-menu {


	width: 360px;


	border: 0;


	padding: 0rem 0;


	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, .15);
	
	border-radius: 10px;


}


.topbar .navbar .dropdown-large .dropdown-menu::after {


	content: '';


	width: 13px;


	height: 13px;


	background: #ffffff;


	position: absolute;


	top: -6px;


	right: 16px;


	transform: rotate(45deg);


	border-top: 1px solid #ddd;


	border-left: 1px solid #ddd;


}


.topbar .navbar .dropdown-menu::after {


	content: '';


	width: 13px;


	height: 13px;


	background: #ffff;


	position: absolute;


	top: -6px;


	right: 16px;


	transform: rotate(45deg);


	border-top: 1px solid #ddd;


	border-left: 1px solid #ddd;


}


.dropdown-large .msg-header {


	padding: 0.8rem 1rem;
    border-bottom: 1px solid #ededed;
    background-clip: border-box;
    background-color: #ffffff;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;


}


.dropdown-large .msg-header .msg-header-title {


	font-size: 16px;


	color: #1c1b1b;


	margin-bottom: 0;


	font-weight: 500;


}

.dropdown-large .msg-header-badge {
    background-color: rgb(94 114 228 / 10%);
    color: #008cff;
    padding: 2px 8px;
    margin-bottom: 0;
    border-radius: 4px;
}

.dropdown-large .msg-header .msg-header-clear {


	font-size: 12px;


	color: #585858;


	margin-bottom: 0;


}


.dropdown-large .msg-footer {


	padding: 0.8rem 1rem;


	color: #1c1b1b;


	border-top: 1px solid #ededed;


	background-clip: border-box;


	background: transparent;


	font-size: 14px;


	font-weight: 500;


	border-bottom-left-radius: .25rem;


	border-bottom-right-radius: .25rem;


}


.dropdown-large .user-online {


	position: relative;


}


.dropdown-large .msg-name {


	font-size: 14px;


	margin-bottom: 0;


}


.dropdown-large .msg-info {


	font-size: 13px;


	margin-bottom: 0;


}


.dropdown-large .msg-avatar {


	width: 45px;


	height: 45px;


	border-radius: 50%;


	margin-right: 15px;


}


.dropdown-large .msg-time {


	font-size: 12px;


	margin-bottom: 0;


	color: #919191;


}


.dropdown-large .user-online:after {


	content: '';


	position: absolute;


	bottom: 1px;


	right: 17px;


	width: 8px;


	height: 8px;


	border-radius: 50%;


	box-shadow: 0 0 0 2px #fff;


	background: #16e15e;


}


.dropdown-large .dropdown-menu .dropdown-item {


	padding: .50rem 1.3rem;


	border-bottom: 1px solid #ededed;


}


.header-message-list {


	position: relative;


	height: 360px;


}


.header-notifications-list {


	position: relative;


	height: 360px;


}

.swal2-popup {
    background: #141414 !important;
}

.dropdown-large .notify {


	width: 45px;


	height: 45px;


	line-height: 45px;


	font-size: 22px;


	text-align: center;


	border-radius: 50%;


	background-color: #f1f1f1;


	margin-right: 15px;


}




.dropdown-large .cart-product-title {
	color: #140e22;
    font-size: 14px;
    margin-bottom: 0px;
}


.user-box .dropdown-menu i {


	vertical-align: middle;


	margin-right: 10px;


}


.dropdown-menu {


	-webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, .15);


	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, .15);


	border: 0px solid #e9ecef;


	font-size: 14px;
	
	border-radius: 10px;


}


.topbar .navbar .dropdown-menu {


	-webkit-animation: .6s cubic-bezier(.25, .8, .25, 1) 0s normal forwards 1 animdropdown;


	animation: .6s cubic-bezier(.25, .8, .25, 1) 0s normal forwards 1 animdropdown;


}


@-webkit-keyframes animdropdown {


	from {


		-webkit-transform: translate3d(0, 6px, 0);


		transform: translate3d(0, 6px, 0);


		opacity: 0


	}


	to {


		-webkit-transform: translate3d(0, 0, 0);


		transform: translate3d(0, 0, 0);


		opacity: 1


	}


}


@keyframes animdropdown {


	from {


		-webkit-transform: translate3d(0, 6px, 0);


		transform: translate3d(0, 6px, 0);


		opacity: 0


	}


	to {


		-webkit-transform: translate3d(0, 0, 0);


		transform: translate3d(0, 0, 0);


		opacity: 1


	}


}


.mobile-toggle-menu {

	font-size: 26px;

	color: #ffffff;

	cursor: pointer;

}



/* Responsive */

@media (max-width: 425px) {

	.heva-logo-top {
        width: 180px; 
        margin-bottom: 10px;
    }
   
    .heva-login-root {
        padding: 0;
        background-color: white; 
    }

    .heva-main-container {
        flex-direction: column;
        width: 100%;
        height: 100vh; 
        border-radius: 0; 
        box-shadow: none;
    }

  
    .heva-visual-section {
        display: none;
    }

   
    .heva-form-section {
        flex: 1;
        width: 100%;
        padding: 20px;
        align-items: flex-start; 
        
    }

    .heva-form-content {
        width: 100%;
        max-width: 100%; 
    }

   
    .heva-input-field, 
    .heva-password-container {
        height: 55px;
        font-size: 16px; 
    }

    .heva-btn-primary {
        padding: 18px;
        font-size: 1.1rem;
    }
}


@media screen and (max-width: 1199px) {



	.page-wrapper {

		margin-top: 60px;

	}

	

	.nav-container {

		position: fixed;

		width: 260px;

		right: 0;

		left: -260px;

		z-index: 16;

		border-bottom: 1px solid #e4e4e4;

		background-clip: border-box;

		background: #ffffff;

		height: 100%;

		padding: 10px;

		display: flex;

		align-items: start;

		justify-content: flex-start;

		overflow-y: scroll;

	    overflow-x: hidden;

	}

	.wrapper.toggled .nav-container {

		display: flex;

		left: 0px;

	}

	.wrapper.toggled .mobile-topbar-header {

		display: flex;

		align-items: center;

		height: 60px;

		background: white;

		border-bottom: 1px solid #f1f1f1;

		background-clip: border-box;

		position: fixed;

		width: 260px;

		left: 0;

		top: 0;

		right: 0;

		z-index: 10;

		padding: 0 30px;

	}

	.wrapper.toggled .overlay {

		position: fixed;

		top: 0;

		right: 0;

		bottom: 0;

		left: 0;

		background: #000;

		opacity: 0.6;

		z-index: 15;

		display: block;

		cursor: move;

		transition: all .2s ease-out;

	}

	.left-topbar {

		width: auto;

	}

	



}


@media screen and (max-width: 1024px) {


	.topbar {


		left: 0px !important;


	}


	.mobile-search-icon {


		display: block;


	}

	
	.page-footer {


		left: 0px;


	}

	.wrapper.toggled .overlay {


		position: fixed;


		top: 0;


		right: 0;


		bottom: 0;


		left: 0;


		background: #000;


		opacity: 0.6;


		z-index: 10;


		display: block;


		cursor: move;


		transition: all .2s ease-out;


	}


	.error-404 {


		height: auto;


		padding: 6.0rem 1rem;


	}


}


@media screen and (max-width: 767px) {


	.user-box .user-info {


		display: none;


	}

}


@media screen and (max-width: 620px) {


	.topbar .navbar .dropdown-menu::after {


		display: none;


	}


	.topbar .navbar .dropdown {


		position: static !important;


	}


	.topbar .navbar .dropdown-menu {


		width: 100% !important;


	}


}


@media screen and (max-width: 520px) {

	.chat-footer-menu,

	.chat-top-header-menu {


		display: none;


	}


}


@media (max-width: 767px) {
    .fc .fc-daygrid-day-frame {
        min-height: 60px;
    }

	.calendar{
		padding: 0px;
	}
}

@media (max-width: 1024px) {
	.calendar{
		padding: 0px;
	}
    .btn-cal{
        margin-right: 0;
    }
}

@media (max-width: 425px) {
	.dest-det{
		margin-top: 15px !important;
		margin-bottom: 15px !important;
	}
    .fc .fc-toolbar-title {
        font-size: 1.1rem !important; 
        margin: 0 5px !important;
    }

    .fc .fc-button {
        padding: 0.4em 0.5em !important;
        font-size: 0.85rem !important;
    }

    .fc .fc-toolbar {
        flex-direction: column;
        gap: 10px;
    }

    .fc .fc-button .fc-icon {
        font-size: 1em !important;
    }
    
    .fc {
        height: auto !important;
    }
}

@media (max-width: 1216px){
    
	.info-section {
		flex: 3;
		display: flex;
		flex-direction: row;
		gap: 10px;
		background: rgba(255,255,255,0.03);
		padding: 8px 8px;
		border-radius: 8px;
		margin: 0 10px;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(255, 255, 255, 0.05);
		min-width: 250px;
	}

}

@media (max-width: 1023px) {
   
    .vlp-main-container .vlp-reservation-card {
        padding: 30px 25px;
    }
	.date-main {
		margin-bottom: 0px;
	}

    .flight-card {
        flex-direction: column; 
        padding: 0; 
        align-items: stretch;
    }

    .status-badge {
        width: auto;
        margin-top: 0;
    }

    .route-section {
        padding: 20px;
        justify-content: space-between;
    }

    .airport h2 {
        font-size: 1.5rem;
    }


	.info-section {
		flex: 3;
		display: flex;
		flex-direction: row;
		gap: 10px;
		background: rgba(255,255,255,0.03);
		padding: 8px 8px;
		border-radius: 8px;
		margin: 10px 15px 20px 15px;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(255, 255, 255, 0.05);
		min-width: 250px;
	}
    
	.details-text{
		writing-mode: horizontal-tb !important; 

	}

	.details-arrow {
		width: 20px; 
		height: 20px;
		flex-shrink: 0; 
		transform: rotate(-90deg);
	}

	.details-btn {
        border-left: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding: 15px 15px 15px 15px;
        width: 100%;
        flex-direction: row;
        transform: rotate(180deg);
    }

	.flights-wrapper {
		max-height: calc((300px + 15px) * 3);
	}
}

@media (max-width: 992px) {
	.date-main {
		margin-bottom: 0px;
		justify-content: space-between;
	}

    .flight-card {
        flex-direction: column; 
        padding: 0; 
        align-items: stretch;
    }


    .status-badge {
        width: auto;
        margin-top: 0;
    }

    .route-section {
        padding: 20px;
        justify-content: space-between;
    }

    .airport h2 {
        font-size: 1.5rem;
    }

  
    .info-section {
        margin: 10px 15px 20px 15px;
        justify-content: space-around;
    }

    
	.details-text{
		writing-mode: horizontal-tb !important; 

	}

	.details-arrow {
		width: 20px; 
		height: 20px;
		flex-shrink: 0; 
		transform: rotate(-90deg);
	}

	.details-btn {
        border-left: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding: 15px 15px 15px 15px;
        width: 100%;
        flex-direction: row;
        transform: rotate(180deg);
    }
}

@media (max-width: 768px) {
    .page-content {
        padding: 0px;
    }

    .card{
        margin-bottom: 50px;
    }

    .flight-card {
        flex-direction: column; 
        padding: 0; 
        align-items: stretch;
    }

 
    .date-section {
        border-right: none;
        border-bottom: 1px solid #333;
        padding: 15px;
        margin-right: 0;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

    .status-badge {
        width: auto;
        margin-top: 0;
    }

    .route-section {
        padding: 20px;
        justify-content: space-between;
    }

    .airport h2 {
        font-size: 1.5rem;
    }

  
    .info-section {
        margin: 10px 15px 20px 15px;
        justify-content: space-around;
    }

    
	.details-text{
		writing-mode: horizontal-tb !important; 

	}

	.details-arrow {
		width: 20px; 
		height: 20px;
		flex-shrink: 0; 
		transform: rotate(-90deg);
	}

	.details-btn {
        border-left: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding: 15px 15px 15px 15px;
        width: 100%;
        flex-direction: row;
        transform: rotate(180deg);
    }

}

@media (max-width: 480px) {

	.date-section {
        border-right: none;
        border-bottom: 1px solid #333;
        padding: 15px;
        margin-right: 0;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

	.info-section{
		min-width: 190px;
	}

    .route-section {
        flex-direction: column; 
        gap: 10px;
        text-align: center;
		align-items: center;
    }

    .route-arrow {
        transform: rotate(90deg); 
        margin: 5px 0;
    }

    .info-section {
        flex-direction: column;
        gap: 11px;
    }

	.pilot-block{
		flex-direction: column; 
        gap: 10px;
        text-align: center;
		align-items: center;
		padding-bottom: 8px;
	}

	.pilot-img{
		display: none;
	}

	.icon-wrap{
		display: none;
	}

    .vertical-divider {
        width: 80%;
        height: 1px; 
        margin: 5px auto;
    }

	.details-text{
		writing-mode: horizontal-tb !important; 

	}

	.details-arrow {
		width: 20px; 
		height: 20px;
		flex-shrink: 0; 
		transform: rotate(-90deg);
	}

	.details-btn {
        border-left: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding: 15px 15px 15px 15px;
        width: 100%;
        flex-direction: row;
        transform: rotate(180deg);
    }

}

@media (max-width: 375px) {

    .vlp-btn{
        padding: 12px 12px !important;
        font-size: 13px;
        margin-top: 15px;
    }

	.info-section{
		min-width: 190px;
	}

	.date-section {
		flex: 0 0 auto; 
		border-right: none;
		padding-right: 20px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.date-main {
		display: flex;
		align-items: center;
		gap: 15px;
		margin-bottom: 10px;
	}

	.day {
		font-size: 2.5rem;
		font-weight: bold;
		border-right: 1px solid #333;
		padding-right: 15px;
		line-height: 1;
	}

	.month-year {
		font-size: 0.9rem;
		line-height: 1.1;
		display: flex;
		flex-direction: column;
	}

	.status-badge {
		display: block; 
		text-align: center; 
		border-radius: 20px;
		font-size: 0.75rem;
		font-weight: bold;
		border: 1px solid;
		width: auto; 
		box-sizing: border-box; 
	}


}

@media (min-width: 400px){
    .flatpickr-calendar{
        width: auto !important;
    }
}

@media (max-width: 576px) {
    .tramo-grid {
        grid-template-columns: 1fr !important;
    }
    .tramo-grid > div:last-child {
        text-align: left !important;
    }
    .tramo-stats {
        flex-direction: row;
        justify-content: center;
    }
}