body 
/*
	{
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.42857143;
	text-transform: none
	}
*/

	* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;}
*:before,
*:after 
	{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	}		


.core-row:before,
.core-row:after 
	{
	display: table;
	content: " ";
	}

.core-row:after 
	{
	clear: both;
	}

.core-row 
	{
	margin-right: 0px;
	margin-left: 0px;
	}
	
.core-col-xs-1,  .core-col-sm-1,  .core-col-md-1,  .core-col-lg-1, 
.core-col-xs-2,  .core-col-sm-2,  .core-col-md-2,  .core-col-lg-2, 
.core-col-xs-3,  .core-col-sm-3,  .core-col-md-3,  .core-col-lg-3, 
.core-col-xs-4,  .core-col-sm-4,  .core-col-md-4,  .core-col-lg-4, 
.core-col-xs-5,  .core-col-sm-5,  .core-col-md-5,  .core-col-lg-5, 
.core-col-xs-6,  .core-col-sm-6,  .core-col-md-6,  .core-col-lg-6, 
.core-col-xs-7,  .core-col-sm-7,  .core-col-md-7,  .core-col-lg-7, 
.core-col-xs-8,  .core-col-sm-8,  .core-col-md-8,  .core-col-lg-8, 
.core-col-xs-9,  .core-col-sm-9,  .core-col-md-9,  .core-col-lg-9, 
.core-col-xs-10, .core-col-sm-10, .core-col-md-10, .core-col-lg-10, 
.core-col-xs-11, .core-col-sm-11, .core-col-md-11, .core-col-lg-11, 
.core-col-xs-12, .core-col-sm-12, .core-col-md-12, .core-col-lg-12 
	{
	position: relative;
	min-height: 1px;
	padding-right: 0px;
	padding-left: 5px;
	}

.core-col-sm-1,  .core-col-sm-2,  .core-col-sm-3, 
.core-col-sm-4,  .core-col-sm-5,  .core-col-sm-6, 
.core-col-sm-7,  .core-col-sm-8,  .core-col-sm-9, 
.core-col-sm-10, .core-col-sm-11, .core-col-sm-12 
	{
	float: left;
	}

.core-col-sm-12 {width: 100%;}
.core-col-sm-11 {width: 91.66666667%;}
.core-col-sm-10 {width: 83.33333333%;}
.core-col-sm-9  {width: 75%;}
.core-col-sm-8  {width: 66.66666667%;}
.core-col-sm-7  {width: 58.33333333%;}
.core-col-sm-6  {width: 50%;}
.core-col-sm-5  {width: 41.66666667%;}
.core-col-sm-4  {width: 33.33333333%;}
.core-col-sm-3  {width: 25%;}
.core-col-sm-2  {width: 16.66666667%;}
.core-col-sm-1  {width: 8.33333333%;}

.core-col-sm-pull-12 {right: 100%;}
.core-col-sm-pull-11 {right: 91.66666667%;}
.core-col-sm-pull-10 {right: 83.33333333%;}
.core-col-sm-pull-9  {right: 75%;}
.core-col-sm-pull-8  {right: 66.66666667%;}
.core-col-sm-pull-7  {right: 58.33333333%;}
.core-col-sm-pull-6  {right: 50%;}
.core-col-sm-pull-5  {right: 41.66666667%;}
.core-col-sm-pull-4  {right: 33.33333333%;}
.core-col-sm-pull-3  {right: 25%;}
.core-col-sm-pull-2  {right: 16.66666667%;}
.core-col-sm-pull-1  {right: 8.33333333%;}
.core-col-sm-pull-0  {right: auto;}

.core-col-sm-push-12 {left: 100%;}
.core-col-sm-push-11 {left: 91.66666667%;}
.core-col-sm-push-10 {left: 83.33333333%;}
.core-col-sm-push-9  {left: 75%;}
.core-col-sm-push-8  {left: 66.66666667%;}
.core-col-sm-push-7  {left: 58.33333333%;}
.core-col-sm-push-6  {left: 50%;}
.core-col-sm-push-5  {left: 41.66666667%;}
.core-col-sm-push-4  {left: 33.33333333%;}
.core-col-sm-push-3  {left: 25%;}
.core-col-sm-push-2  {left: 16.66666667%;}
.core-col-sm-push-1  {left: 8.33333333%;}
.core-col-sm-push-0  {left: auto;}

.core-col-sm-offset-12 {margin-left: 100%;}
.core-col-sm-offset-11 {margin-left: 91.66666667%;}
.core-col-sm-offset-10 {margin-left: 83.33333333%;}
.core-col-sm-offset-9  {margin-left: 75%;}
.core-col-sm-offset-8  {margin-left: 66.66666667%;}
.core-col-sm-offset-7  {margin-left: 58.33333333%;}
.core-col-sm-offset-6  {margin-left: 50%;}
.core-col-sm-offset-5  {margin-left: 41.66666667%;}
.core-col-sm-offset-4  {margin-left: 33.33333333%;}
.core-col-sm-offset-3  {margin-left: 25%;}
.core-col-sm-offset-2  {margin-left: 16.66666667%;}
.core-col-sm-offset-1  {margin-left: 8.33333333%;}
.core-col-sm-offset-0  {margin-left: 0;}


.core-label 
	{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	max-width: 100%;
	margin-bottom: 0px;
	padding: 0px 4px;
	color: gray ;
	font-size: 14px;
	font-weight: normal;
	}

.core-label-red 
	{
	display: inline-block;
	max-width: 100%;
	margin-bottom: 0px;
	padding: 0px 4px;
	color: brown ;
	font-size: 14px;
	font-weight: normal;
	}

.core-label-blue 
	{
	display: inline-block;
	max-width: 100%;
	margin-bottom: 0px;
	padding: 0px 4px;
	color: navy ;
	font-size: 14px;
	font-weight: normal;
	}

.core-label-separador 
	{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	height: auto;
	min-height:27px;
	margin-top: 20px;
	margin-bottom: 20px;
	padding: 2px 4px;
	line-height: 1.42857143;
	color: black;
	font-size: 16px;
	font-weight: 600;
	background-color: white;
	border-bottom: 2px solid gray;
	border-radius: 0px;
	}
.core-field-control 
	{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: calc(100% - 5px);
	height: auto;
	min-height:27px;
	align-items: center;
	margin-bottom: 10px;
	padding: 2px 4px;
	white-space: nowrap;
	overflow: hidden;
	line-height: 1.42857143;
	color: black;
	font-size: 16px;
	font-weight: 500;
	background-color: #dae3f2;
	border-bottom: 2px solid gray;
	border-radius: 4px;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
	-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
	-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	}

.core-text-control
	{
	display: block;
	width: calc(100% - 5px);
	height: auto;
	min-height: 54px;
	margin-bottom: 10px;
	padding: 2px 4px;
	white-space: normal;
	word-wrap: break-word;
	overflow-wrap: break-word;
	overflow: visible;
	line-height: 1.42857143;
	color: black;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 16px;
	font-weight: 500;
	background-color: #dae3f2;
	border: 1px solid #ccc;
	border-bottom: 2px solid gray;
	border-radius: 4px;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
	-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
	-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	}

.core-field-control-red 
	{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	height: auto;
	padding: 6px 4px;
	line-height: 1.42857143;
	color: Red;
	font-size: 16px;
	font-weight: 300;
	background-color: #f5f5f5;
	border-bottom: 1px dotted #6d4c41;
	border-radius: 4px;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
	-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
	-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	}
									
.core-field-control-NoReg 
	{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	height: 32px;
	padding: 6px 4px;
	line-height: 1.42857143;
	color: LIGHTSALMON;
	font-size: 16px;
	font-weight: 300;
	text-align:center;
	background-color: #f5f5f5;
	border-bottom: 1px dotted #6d4c41;
	border-radius: 4px;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
	-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
	-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	}

    .core-img-container {
      display: flex;
      justify-content: space-between; /* Espacia los elementos para que .core-img-content quede en el centro */
      align-items: flex-start;
      gap: 15px; /* Espacio entre las imágenes */
      margin-right: 30px; /* Margen derecho */
    }
    .core-img-content {
      flex-grow: 1; /* Permite que el contenido ocupe el espacio disponible */
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center; /* Centra el texto dentro del div */
    }
    .core-img {
      height: 180px; /* Ajusta la altura según sea necesario */
      object-fit: cover; /* Asegura que la imagen se recorte correctamente para llenar el contenedor */
    }
	
/*
.core-img-container 
	{
		display: flex;
		justify-content: center;
		align-items: center;
		height: 20vh;
		position: relative;
	}
.core-img-content 
	{
		max-width: 100%;
	}


.core-img 
	{
	position: absolute;
	right: 10%;
	top: 50%;
	transform: translateY(-50%);
	max-width: 20%;
	height: auto;
	}
*/


/* Select2 custom styling to match form-control */
.select2-container--default .select2-selection--single {
    height: 40px !important;
    padding: 6px 12px !important;
    border: 1px solid #d2d6da !important;
    border-radius: 0.5rem !important;
    background-color: #fff !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 26px !important;
    padding-left: 0 !important;
    color: #495057 !important;
    font-size: 0.875rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px !important;
    right: 8px !important;
}

/* Select2 mobile height to match form-control (48px) */
@media (max-width: 768px) {
    .select2-container--default .select2-selection--single {
        height: 48px !important;
        padding: 10px 12px !important;
    }

    .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 26px !important;
        font-size: 16px !important;
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 46px !important;
    }
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #555 transparent transparent transparent !important;
    border-width: 6px 5px 0 5px !important;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #555 transparent !important;
    border-width: 0 5px 6px 5px !important;
}

/* Dropdown styling */
.select2-dropdown {
    border: 1px solid #d2d6da !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
}

/* Option styling with more spacing */
.select2-container--default .select2-results__option {
    padding: 10px 12px !important;
    font-size: 0.875rem !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #5e72e4 !important;
    color: #fff !important;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #e9ecef !important;
    color: #495057 !important;
}

/* Focus state */
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: #5e72e4 !important;
    box-shadow: 0 0 0 2px rgba(94, 114, 228, 0.25) !important;
}

/* Match width to form-control */
.select2-container {
    width: 100% !important;
}

/* DataTable page length Select2 - narrower width */
.dt-length .select2-container {
    width: 70px !important;
}

.dt-length .select2-container--default .select2-selection--single {
    height: 34px !important;
    padding: 4px 8px !important;
}

.dt-length .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 24px !important;
}

.dt-length .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 32px !important;
    right: 4px !important;
}

/* Keep DataTable length menu label on one line */
.dt-length {
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.dt-length label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

/* Photo cells for search-nombres DataTable */
#myTable tbody tr {
    min-height: 90px;
}

#myTable tbody td {
    vertical-align: middle;
}

.foto-cell {
    width: 80px;
    height: 80px;
    min-width: 80px;
    min-height: 80px;
    border: 1px solid #dee2e6;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    background-color: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Light/Dark theme - transparent foto-cell background */
body.theme-light .foto-cell,
body.theme-dark .foto-cell {
    background-color: transparent !important;
    border-color: transparent !important;
}

.foto-img {
    max-width: 78px;
    max-height: 78px;
    cursor: pointer;
    object-fit: cover;
}

/* Photo Modal */
.foto-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.7) !important;
    z-index: 9999;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    touch-action: none;
}

/* Prevent body scroll when modal is open */
body.modal-open,
html.modal-open {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
    height: 100% !important;
    touch-action: none !important;
    -webkit-overflow-scrolling: none !important;
    overscroll-behavior: none !important;
}

.foto-modal-content {
    position: relative;
    background-color: #fff;
    border-radius: 8px;
    padding: 0;
    margin: 0;
    max-width: 95vw;
    max-height: 95vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.foto-modal-header {
    background-color: #08495e !important;
    color: #fff !important;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 8px 8px 0 0;
}

.foto-modal-header > span:first-child {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-right: 10px;
}

.foto-modal-header .foto-modal-close {
    position: static;
    color: #fff;
    font-size: 28px;
    line-height: 1;
    padding: 0;
    margin: 0;
    flex-shrink: 0;
}

.foto-modal-close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 32px;
    font-weight: bold;
    color: #666;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 1;
    line-height: 1;
}

.foto-modal-close:hover {
    color: #333;
}

.foto-modal-images {
    display: flex;
    flex-direction: row;
    gap: 30px;
    justify-content: center;
    align-items: center;
    padding: 0 30px;
    margin: 0;
    flex: 1;
}

.foto-modal-item {
    width: 40vw;
    height: 70vh;
    max-width: 525px;
    max-height: 675px;
    min-width: 300px;
    min-height: 400px;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    background-color: #f8f9fa;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 10px;
    box-sizing: border-box;
}

.foto-modal-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

.foto-modal-item img[src=""],
.foto-modal-item img:not([src]) {
    display: none !important;
    visibility: hidden !important;
}

.foto-modal-item img:not([src=""]) {
    display: block !important;
}

/* Navigation buttons */
.foto-modal-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin: 0;
    padding: 10px 30px 20px 30px;
    flex: 0 0 auto;
}

.foto-modal-nav .btn {
    min-width: 50px;
    padding: 0.5rem 1rem;
}

.foto-modal-nav .btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.foto-modal-counter {
    font-size: 1rem;
    font-weight: 600;
    color: #333;
    min-width: 60px;
    text-align: center;
}

/* Light theme - Photo Modal */
body.theme-light .foto-modal-content {
    background-color: #f8f9fa !important;
}

body.theme-light .foto-modal-header {
    background-color: #e0e0e0 !important;
    color: #344767 !important;
}

body.theme-light .foto-modal-header .foto-modal-close {
    color: #344767 !important;
}

body.theme-light .foto-modal-item {
    background-color: transparent !important;
    border-color: #c0c0c0 !important;
}

body.theme-light .foto-modal-counter {
    color: #344767 !important;
}

/* Dark theme - Photo Modal */
body.theme-dark .foto-modal-content {
    background-color: #1a1a2e !important;
}

body.theme-dark .foto-modal-header {
    background-color: #16213e !important;
    color: #e0e0e0 !important;
}

body.theme-dark .foto-modal-header .foto-modal-close {
    color: #e0e0e0 !important;
}

body.theme-dark .foto-modal-item {
    background-color: transparent !important;
    border-color: #5d8aa8 !important;
}

body.theme-dark .foto-modal-counter {
    color: #e0e0e0 !important;
}

/* Mobile: stack images vertically */
@media (max-width: 768px) {
    .foto-modal-content {
        width: 80vw;
        height: 80vh;
        max-width: 80vw;
        max-height: 80vh;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
    }

    .foto-modal-header {
        padding: 12px 15px;
        font-size: 1rem;
        flex-shrink: 0;
    }

    .foto-modal-header .foto-modal-close {
        font-size: 24px;
    }

    .foto-modal-images {
        flex-direction: column;
        gap: 10px;
        flex: 1;
        padding: 0 15px;
        margin: 0;
        overflow: hidden;
    }

    .foto-modal-item {
        width: 100%;
        height: calc(45% - 10px);
        min-width: unset;
        min-height: unset;
        max-width: 100%;
        max-height: calc(45% - 10px);
        padding: 5px;
    }

    .foto-modal-nav {
        flex: 0 0 auto;
        gap: 10px;
        margin: 0;
        padding: 5px 15px 15px 15px;
    }

    .foto-modal-nav .btn {
        min-width: 45px;
        padding: 0.4rem 0.8rem;
    }

    .foto-modal-counter {
        font-size: 0.9rem;
    }
}

/* Remove left margin on main content when sidebar is hidden (below xl breakpoint) */
@media (max-width: 1199px) {
    .sidenav.fixed-start+.main-content,
    .sidenav.fixed-start + main.main-content,
    main.main-content,
    .main-content {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    .navbar.navbar-main {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    .navbar-main .container-fluid {
        padding-left: 10px !important;
        margin-left: 0 !important;
    }

    .navbar-main nav[aria-label="breadcrumb"] {
        padding-left: 5px !important;
        margin-left: 0 !important;
        text-align: left !important;
    }

    .navbar.mx-4,
    nav.navbar.mx-4,
    #navbarBlur.mx-4 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* Hide button text on zoomed desktop (between tablet and normal desktop) */
@media only screen and (min-width: 769px) and (max-width: 2200px) {
    .search-buttons .btn-text-desktop {
        display: none !important;
    }
}

/* Prevent button text from wrapping */
.search-buttons .btn {
    white-space: nowrap;
}

/* Override for mobile devices */
@media only screen and (max-width: 768px) {

    .core-label {
        font-size: 10px !important;
    }

    .core-label-separador {
        font-size: 12px !important;
    }

    .core-field-control {
        font-size: 10px !important;
		margin-bottom: -5px !important;
    }
}


@media print 
	{
	body 
		{
		text-align: left;
		}

	/*
	.core-col-sm-1,  .core-col-sm-2,  .core-col-sm-3, 
	.core-col-sm-4,  .core-col-sm-5,  .core-col-sm-6, 
	.core-col-sm-7,  .core-col-sm-8,  .core-col-sm-9, 
	.core-col-sm-10, .core-col-sm-11, .core-col-sm-12 
		{
			transform: translateX(-5%);
			transform-origin: top left;
		}
	*/

	.core-img-container 
		{
			display: block;
			height: 90%;
			position: static;
			width: auto;
		}

	.core-img
		{
			display: block;
			position: relative;
			max-width: 30%;
			max-height: 90%;
			float: right;
			margin-top: 0;
			transform: scale(0.8) translateY(-90%);
			transform-origin: top left;
		}
	}

/* Cedula link styling */
.cedula-link {
    color: #5e72e4;
    text-decoration: none;
    font-weight: 600;
    cursor: pointer;
}

.cedula-link:hover {
    color: #324cdd;
    text-decoration: underline;
}

/* Telefono link styling */
.telefono-link {
    color: #5e72e4;
    text-decoration: none;
    font-weight: 600;
    cursor: pointer;
}

.telefono-link:hover {
    color: #324cdd;
    text-decoration: underline;
}

/* ==========================================================================
   Search History Floating Button
   ========================================================================== */

#search-history-container {
    position: fixed;
    top: 70px;
    right: 15px;
    z-index: 1050;
}

.search-history-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: #08495e;
    color: #fff;
    border: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    transition: background-color 0.2s, transform 0.2s;
    position: relative;
}

.search-history-btn.visible {
    display: flex;
}

.search-history-btn:hover {
    background-color: #065a73;
    transform: scale(1.05);
}

.search-history-count {
    position: absolute;
    top: -5px;
    right: -5px;
    background-color: #e74c3c;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-history-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 1049;
}

.search-history-overlay.show {
    display: block;
}

.search-history-panel {
    position: fixed;
    top: 130px;
    right: 15px;
    width: 300px;
    max-height: calc(100vh - 150px);
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    border: 1px solid silver;
    z-index: 1051;
}

.search-history-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 15px;
    background-color: #08495e;
    color: #fff;
    font-weight: 600;
    font-size: 0.9rem;
}

.search-history-clear {
    background-color: transparent;
    color: #fff;
    border: 1px solid rgba(255,255,255,0.5);
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 0.75rem;
    cursor: pointer;
    transition: background-color 0.2s;
}

.search-history-clear:hover {
    background-color: rgba(255,255,255,0.2);
}

.search-history-list {
    max-height: calc(100vh - 210px);
    overflow-y: auto;
}

.search-history-item {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    transition: background-color 0.2s;
}

.search-history-item:hover {
    background-color: #f5f5f5;
}

.search-history-item:last-child {
    border-bottom: none;
}

.search-history-item.origin {
    background-color: #e8f4f8;
}

.search-history-item.origin:hover {
    background-color: #d0e8ef;
}

.search-history-icon {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    font-size: 0.8rem;
    flex-shrink: 0;
}

.search-history-icon.cedula {
    background-color: #e8f4f8;
    color: #08495e;
}

.search-history-icon.telefono {
    background-color: #fef3e8;
    color: #e67e22;
}

.search-history-icon.nombre {
    background-color: #e8f8e8;
    color: #27ae60;
}

.search-history-icon.origin {
    background-color: #08495e;
    color: #fff;
}

.search-history-info {
    flex: 1;
    overflow: hidden;
}

.search-history-type {
    font-size: 0.7rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.search-history-value {
    font-size: 0.85rem;
    font-weight: 600;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Search History - Light Theme */
body.theme-light .search-history-panel {
    background-color: #f8f9fa;
    border-color: #aaa;
}

body.theme-light .search-history-header {
    background-color: #6c757d;
}

body.theme-light .search-history-item {
    border-bottom-color: #ddd;
}

body.theme-light .search-history-item:hover {
    background-color: #e9ecef;
}

body.theme-light .search-history-item.origin {
    background-color: #dee2e6;
}

body.theme-light .search-history-item.origin:hover {
    background-color: #ced4da;
}

body.theme-light .search-history-value {
    color: #344767;
}

body.theme-light .search-history-type {
    color: #6c757d;
}

/* Search History - Dark Theme */
body.theme-dark .search-history-panel {
    background-color: #1a1a2e;
    border-color: #0f3460;
}

body.theme-dark .search-history-header {
    background-color: #0f3460;
}

body.theme-dark .search-history-item {
    border-bottom-color: #0f3460;
}

body.theme-dark .search-history-item:hover {
    background-color: #16213e;
}

body.theme-dark .search-history-item.origin {
    background-color: #0f3460;
}

body.theme-dark .search-history-item.origin:hover {
    background-color: #1a3a5c;
}

body.theme-dark .search-history-value {
    color: #e0e0e0;
}

body.theme-dark .search-history-type {
    color: #a0a0a0;
}

/* Search History Button - Light Theme */
body.theme-light .search-history-btn {
    background-color: #6c757d;
}

body.theme-light .search-history-btn:hover {
    background-color: #5a6268;
}

/* Search History Button - Dark Theme */
body.theme-dark .search-history-btn {
    background-color: #0f3460;
}

body.theme-dark .search-history-btn:hover {
    background-color: #1a3a5c;
}

/* ==========================================================================
   Green Form Switch (Primary Color)
   ========================================================================== */

.form-switch-green {
    min-height: auto !important;
    padding-left: 0 !important;
    margin-bottom: 0 !important;
    display: flex !important;
    align-items: center;
    gap: 0.5rem;
}

.form-switch-green .form-check-input {
    width: 3em;
    height: 1.5em;
    cursor: pointer;
    margin: 0 !important;
    position: relative !important;
    float: none !important;
    flex-shrink: 0;
}

.form-switch-green .form-check-input:checked {
    background-color: #0b6685;
    border-color: #0b6685;
}

.form-switch-green .form-check-input:focus {
    border-color: #0b6685;
    box-shadow: 0 0 0 0.2rem rgba(11, 102, 133, 0.25);
}

.form-switch-green .form-check-label {
    cursor: pointer;
    color: #344767;
    font-weight: 500;
    margin: 0 !important;
    line-height: 1.5;
}

/* Remove margin-bottom from buttons inside search-buttons for proper alignment */
.search-buttons .btn {
    margin-bottom: 0 !important;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    #search-history-container {
        top: 70px;
        right: 10px;
        z-index: 1100;
    }

    .search-history-btn {
        width: 44px;
        height: 44px;
        font-size: 1rem;
    }

    .search-history-btn.visible {
        display: flex;
    }

    .search-history-panel {
        top: 125px;
        right: 10px;
        width: calc(100vw - 20px);
        max-width: 300px;
        max-height: calc(100vh - 140px);
    }

    .search-history-list {
        max-height: calc(100vh - 200px);
    }

    .search-history-overlay {
        z-index: 1099;
    }
}

/* Dashboard charts theme styles */
body.theme-light .charts-row,
body.theme-dark .charts-row {
    background: transparent !important;
    background-color: transparent !important;
}

/* ==========================================================================
   Global Button Theme Styles
   ========================================================================== */

/* Default theme (no theme class) - Primary button */
.btn.btn-primary,
button.btn-primary {
    border: 1px solid #333333 !important;
    border-radius: 0.5rem !important;
}

/* Default theme (no theme class) - Secondary button */
.btn.btn-secondary,
button.btn-secondary {
    background-color: transparent !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 0.5rem !important;
    color: #344767 !important;
    background-image: none !important;
}

.btn.btn-secondary:hover,
button.btn-secondary:hover {
    background-color: rgba(0, 0, 0, 0.05) !important;
    border: 1px solid #c0c0c0 !important;
}

/* Light theme - Primary button */
body.theme-light .btn.btn-primary,
body.theme-light button.btn-primary,
body.theme-light .card .btn.btn-primary,
body.theme-light .container .btn.btn-primary,
body.theme-light .container-fluid .btn.btn-primary {
    background-color: #6c757d !important;
    border: 1px solid #333333 !important;
    border-radius: 0.5rem !important;
    color: #fff !important;
    background-image: none !important;
}

body.theme-light .btn.btn-primary:hover,
body.theme-light button.btn-primary:hover {
    background-color: #5a6268 !important;
    border: 1px solid #222222 !important;
}

/* Light theme - Secondary button */
body.theme-light .btn.btn-secondary,
body.theme-light button.btn-secondary,
body.theme-light .card .btn.btn-secondary,
body.theme-light .container .btn.btn-secondary,
body.theme-light .container-fluid .btn.btn-secondary {
    background-color: transparent !important;
    border: 1px solid #c0c0c0 !important;
    border-radius: 0.5rem !important;
    color: #707070 !important;
    background-image: none !important;
}

body.theme-light .btn.btn-secondary:hover,
body.theme-light button.btn-secondary:hover {
    background-color: rgba(160, 160, 160, 0.1) !important;
    border: 1px solid #a0a0a0 !important;
}

/* Dark theme - Primary button */
body.theme-dark .btn.btn-primary,
body.theme-dark button.btn-primary,
body.theme-dark .card .btn.btn-primary,
body.theme-dark .container .btn.btn-primary,
body.theme-dark .container-fluid .btn.btn-primary {
    background-color: #16213e !important;
    border: 1px solid #5d8aa8 !important;
    border-radius: 0.5rem !important;
    color: #ffffff !important;
    background-image: none !important;
}

body.theme-dark .btn.btn-primary:hover,
body.theme-dark button.btn-primary:hover {
    background-color: #1a2847 !important;
    border: 1px solid #6d9ab8 !important;
}

/* Dark theme - Secondary button */
body.theme-dark .btn.btn-secondary,
body.theme-dark button.btn-secondary,
body.theme-dark .card .btn.btn-secondary,
body.theme-dark .container .btn.btn-secondary,
body.theme-dark .container-fluid .btn.btn-secondary {
    background-color: transparent !important;
    border: 1px solid #5a7a9a !important;
    border-radius: 0.5rem !important;
    color: #8fa8c8 !important;
    background-image: none !important;
}

body.theme-dark .btn.btn-secondary:hover,
body.theme-dark button.btn-secondary:hover {
    background-color: rgba(90, 122, 154, 0.15) !important;
    border: 1px solid #6d8db0 !important;
    color: #a0bcd8 !important;
}

/* ===== Phone Input Helper Styles ===== */
.phone-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.phone-input-wrapper input {
    padding-right: 40px;
}

.phone-helper-btn {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: #6c757d;
    font-size: 1.1rem;
    cursor: pointer;
    padding: 4px 8px;
    transition: color 0.2s ease;
}

.phone-helper-btn:hover {
    color: #0d4c61;
}

body.theme-dark .phone-helper-btn {
    color: #8fa8c8;
}

body.theme-dark .phone-helper-btn:hover {
    color: #a0bcd8;
}

/* Phone Pad Modal */
.phone-pad-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999999;
}

.phone-pad-content {
    background: #ffffff;
    border-radius: 0.5rem;
    width: 90%;
    max-width: 320px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

body.theme-dark .phone-pad-content {
    background: #1a1a2e;
    color: #e0e0e0;
}

.phone-pad-header {
    background: #032b37;
    color: #fff;
    padding: 1rem 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.phone-pad-header h5 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #fff;
}

.phone-pad-header h5 i,
.phone-pad-header i {
    color: #fff !important;
}

body.theme-light .phone-pad-header {
    background: #e0e0e0 !important;
    color: #344767 !important;
}

body.theme-light .phone-pad-header h5,
body.theme-light .phone-pad-header h5 span {
    color: #344767 !important;
}

body.theme-light .phone-pad-header h5 i,
body.theme-light .phone-pad-header i {
    color: #344767 !important;
}

body.theme-dark .phone-pad-header {
    background: #16213e !important;
    color: #fff !important;
}

.phone-pad-close {
    background: transparent;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: #fff;
    line-height: 1;
}

body.theme-light .phone-pad-close {
    color: #344767 !important;
}

.phone-pad-close:hover {
    color: #dc3545;
}

.phone-pad-body {
    padding: 20px;
}

.phone-pad-display {
    padding: 20px 20px 15px 20px;
}

.phone-pad-display input {
    width: 100%;
    padding: 12px 15px;
    font-size: 1.4rem;
    text-align: center;
    border: 2px solid #dee2e6;
    border-radius: 8px;
    background: #f8f9fa;
    color: #344767;
    letter-spacing: 2px;
}

body.theme-dark .phone-pad-display input {
    background: #16213e;
    border-color: #5d8aa8;
    color: #e0e0e0;
}

.phone-pad-keys {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding: 0 20px 20px 20px;
}

.phone-pad-key {
    padding: 18px;
    font-size: 1.4rem;
    font-weight: 500;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    background: #f8f9fa;
    color: #344767;
    cursor: pointer;
    transition: all 0.15s ease;
}

.phone-pad-key:hover {
    background: #e9ecef;
    border-color: #0d4c61;
}

.phone-pad-key:active {
    background: #0d4c61;
    color: #ffffff;
    transform: scale(0.95);
}

body.theme-dark .phone-pad-key {
    background: #16213e;
    border-color: #5d8aa8;
    color: #e0e0e0;
}

body.theme-dark .phone-pad-key:hover {
    background: #1f2b47;
    border-color: #7ab0d4;
}

body.theme-dark .phone-pad-key:active {
    background: #5d8aa8;
    color: #ffffff;
}

.phone-pad-clear,
.phone-pad-backspace {
    font-size: 1.1rem;
    background: transparent !important;
    border-color: #dee2e6 !important;
    color: #344767 !important;
}

.phone-pad-clear:hover,
.phone-pad-backspace:hover {
    background: #e9ecef !important;
    border-color: #0d4c61 !important;
}

body.theme-light .phone-pad-clear,
body.theme-light .phone-pad-backspace {
    background: transparent !important;
    border-color: #dee2e6 !important;
    color: #344767 !important;
}

body.theme-light .phone-pad-clear:hover,
body.theme-light .phone-pad-backspace:hover {
    background: #e9ecef !important;
    border-color: #0d4c61 !important;
}

body.theme-dark .phone-pad-clear,
body.theme-dark .phone-pad-backspace {
    background: #16213e !important;
    border-color: #5d8aa8 !important;
    color: #fff !important;
}

body.theme-dark .phone-pad-clear:hover,
body.theme-dark .phone-pad-backspace:hover {
    background: #1f2b47 !important;
    border-color: #7ab0d4 !important;
}

.phone-pad-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.75rem !important;
    padding: 1rem 20px 20px 20px;
    border-top: 1px solid #e0e0e0;
}

body.theme-dark .phone-pad-actions {
    border-top-color: #0f3460 !important;
}

.phone-pad-actions .btn,
.phone-pad-actions .btn.btn-secondary,
.phone-pad-actions .btn.btn-primary,
.phone-pad-actions button.btn-secondary,
.phone-pad-actions button.btn-primary {
    flex: 1 1 50% !important;
    padding: 12px 16px !important;
    font-size: 1rem !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    line-height: normal !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    margin: 8px 0 0 0 !important;
    margin-top: 8px !important;
}

body.theme-light .phone-pad-actions .btn.btn-secondary,
body.theme-light .phone-pad-actions button.btn-secondary {
    background: transparent !important;
    border: 1px solid #c0c0c0 !important;
    color: #344767 !important;
}

body.theme-light .phone-pad-actions .btn.btn-primary,
body.theme-light .phone-pad-actions button.btn-primary {
    background: #a0a0a0 !important;
    border: 1px solid #707070 !important;
    color: #fff !important;
}

/* ===== Plate Pad Helper Styles ===== */
.plate-pad-display {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 20px 20px 15px 20px;
}

/* Custom prefix dropdown */
.plate-prefix-dropdown {
    position: relative;
    width: 80px;
}

.plate-prefix-btn {
    width: 100%;
    padding: 12px 8px;
    font-size: 1.4rem;
    text-align: center;
    border: 2px solid #dee2e6;
    border-radius: 8px;
    background: #f8f9fa;
    color: #344767;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.plate-prefix-btn:hover {
    border-color: #0d4c61;
}

.plate-prefix-btn i {
    font-size: 0.9rem;
}

.plate-prefix-options {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 2px solid #dee2e6;
    border-top: none;
    border-radius: 0 0 8px 8px;
    max-height: 330px;
    overflow-y: auto;
    z-index: 10;
}

.plate-prefix-options.show {
    display: block;
}

.plate-prefix-option {
    padding: 10px 12px;
    text-align: center;
    cursor: pointer;
    font-size: 1.1rem;
    border-bottom: 1px solid #eee;
}

.plate-prefix-option:last-child {
    border-bottom: none;
}

.plate-prefix-option:hover {
    background: #e9ecef;
}

body.theme-dark .plate-prefix-btn {
    background: #16213e;
    border-color: #5d8aa8;
    color: #e0e0e0;
}

body.theme-dark .plate-prefix-options {
    background: #16213e;
    border-color: #5d8aa8;
}

/* Custom sexo dropdown */
.sexo-dropdown {
    position: relative;
    width: 100%;
}

.sexo-dropdown-btn {
    width: 100%;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    text-align: left;
    border: 1px solid #d2d6da;
    border-radius: 0.5rem;
    background: #fff;
    color: #344767;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    min-height: 40px;
}

.sexo-dropdown-btn:hover {
    border-color: #0d4c61;
}

.sexo-dropdown-btn i {
    font-size: 0.75rem;
}

.sexo-dropdown-options {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d2d6da;
    border-top: none;
    border-radius: 0 0 0.5rem 0.5rem;
    max-height: 200px;
    overflow-y: auto;
    z-index: 100;
}

.sexo-dropdown-options.show {
    display: block;
}

.sexo-dropdown-option {
    padding: 0.5rem 0.75rem;
    text-align: left;
    cursor: pointer;
    font-size: 0.875rem;
    border-bottom: 1px solid #eee;
}

.sexo-dropdown-option:last-child {
    border-bottom: none;
}

.sexo-dropdown-option:hover {
    background: #e9ecef;
}

.sexo-dropdown-option.selected {
    background: #0d4c61;
    color: #fff;
}

/* Light theme sexo dropdown */
body.theme-light .sexo-dropdown-btn {
    background: #ffffff;
    border-color: #c0c0c0;
    color: #344767;
}

body.theme-light .sexo-dropdown-options {
    background: #ffffff;
    border-color: #c0c0c0;
}

body.theme-light .sexo-dropdown-option:hover {
    background: #e9ecef;
}

/* Dark theme sexo dropdown */
body.theme-dark .sexo-dropdown-btn {
    background: #0f3460;
    border-color: #16213e;
    color: #e0e0e0;
}

body.theme-dark .sexo-dropdown-options {
    background: #0f3460;
    border-color: #16213e;
}

body.theme-dark .sexo-dropdown-option {
    color: #e0e0e0;
    border-bottom-color: #16213e;
}

body.theme-dark .sexo-dropdown-option:hover {
    background: #16213e;
}

body.theme-dark .sexo-dropdown-option.selected {
    background: #5d8aa8;
    color: #fff;
}

/* ===== Report Dropdown Styles ===== */
.report-dropdown {
    position: relative;
    width: 100%;
}

.report-dropdown-btn {
    width: 100%;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    text-align: left;
    border: 1px solid #d2d6da;
    border-radius: 0.5rem;
    background: #fff;
    color: #344767;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    min-height: 40px;
}

.report-dropdown-btn:hover {
    border-color: #0d4c61;
}

.report-dropdown-btn i {
    font-size: 0.75rem;
}

.report-dropdown-options {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d2d6da;
    border-top: none;
    border-radius: 0 0 0.5rem 0.5rem;
    max-height: 200px;
    overflow-y: auto;
    z-index: 100;
}

.report-dropdown-options.show {
    display: block;
}

.report-dropdown-option {
    padding: 0.5rem 0.75rem;
    text-align: left;
    cursor: pointer;
    font-size: 0.875rem;
    border-bottom: 1px solid #eee;
}

.report-dropdown-option:last-child {
    border-bottom: none;
}

.report-dropdown-option:hover {
    background: #e9ecef;
}

.report-dropdown-option.selected {
    background: #0d4c61;
    color: #fff;
}

/* Light theme report dropdown */
body.theme-light .report-dropdown-btn {
    background: #ffffff;
    border-color: #c0c0c0;
    color: #344767;
}

body.theme-light .report-dropdown-options {
    background: #ffffff;
    border-color: #c0c0c0;
}

body.theme-light .report-dropdown-option:hover {
    background: #e9ecef;
}

/* Dark theme report dropdown */
body.theme-dark .report-dropdown-btn {
    background: #0f3460;
    border-color: #16213e;
    color: #e0e0e0;
}

body.theme-dark .report-dropdown-options {
    background: #0f3460;
    border-color: #16213e;
}

body.theme-dark .report-dropdown-option {
    color: #e0e0e0;
    border-bottom-color: #16213e;
}

body.theme-dark .report-dropdown-option:hover {
    background: #16213e;
}

body.theme-dark .report-dropdown-option.selected {
    background: #5d8aa8;
    color: #fff;
}

/* Disabled dropdown styles */
.report-dropdown-btn.dropdown-disabled {
    background-color: #e9ecef !important;
    cursor: not-allowed;
}

body.theme-dark .report-dropdown-btn.dropdown-disabled {
    background-color: #2a3a5a !important;
    color: #8a8a8a !important;
}

body.theme-dark .plate-prefix-option {
    color: #e0e0e0;
    border-bottom-color: #2a3a5a;
}

body.theme-dark .plate-prefix-option:hover {
    background: #1f2b47;
}

body.theme-light .plate-prefix-btn {
    background: #f8f9fa;
    border-color: #c0c0c0;
    color: #344767;
}

body.theme-light .plate-prefix-options {
    background: #fff;
    border-color: #c0c0c0;
}

body.theme-light .plate-prefix-option {
    color: #344767;
}

.plate-separator {
    font-size: 1.8rem;
    font-weight: bold;
    color: #344767;
}

body.theme-dark .plate-separator {
    color: #e0e0e0;
}

.plate-pad-display input {
    flex: 1;
    padding: 12px 15px;
    font-size: 1.4rem;
    text-align: center;
    border: 2px solid #dee2e6;
    border-radius: 8px;
    background: #f8f9fa;
    color: #344767;
    letter-spacing: 2px;
}

body.theme-dark .plate-pad-display input {
    background: #16213e;
    border-color: #5d8aa8;
    color: #e0e0e0;
}

body.theme-light .plate-pad-display input {
    background: #f8f9fa;
    border-color: #c0c0c0;
    color: #344767;
}

/* ===== Card Header Mobile Theme Styles ===== */
@media (max-width: 768px) {
    /* Light theme card header on mobile */
    body.theme-light .card .card-header {
        background-color: #e0e0e0 !important;
        color: #344767 !important;
    }

    /* Dark theme card header on mobile */
    body.theme-dark .card .card-header {
        background-color: #16213e !important;
        color: #e0e0e0 !important;
    }

    /* Light theme - Mobile DataTable card header (Name and X/Y row) */
    body.theme-light table.dataTable tbody tr::before {
        background-color: #e0e0e0 !important;
        color: #344767 !important;
    }

    body.theme-light table.dataTable tbody tr::after {
        background-color: #e0e0e0 !important;
        color: #344767 !important;
    }

    /* Dark theme - Mobile DataTable card header (Name and X/Y row) */
    body.theme-dark table.dataTable tbody tr::before {
        background-color: #16213e !important;
        color: #e0e0e0 !important;
    }

    body.theme-dark table.dataTable tbody tr::after {
        background-color: #16213e !important;
        color: #e0e0e0 !important;
    }
}

/* ===== Card Body Theme Styles ===== */
/* Light theme - Card background and body */
body.theme-light .card {
    background-color: #f8f9fa !important;
    border: 1px solid #dee2e6 !important;
}

body.theme-light .card .card-body {
    background-color: #f8f9fa !important;
    color: #344767 !important;
}

body.theme-light .card .card-header,
body.theme-light .card .card-header.pb-0,
body.theme-light .card-header {
    background-color: #f8f9fa !important;
    background-image: none !important;
    color: #344767 !important;
    border-bottom: none !important;
}

/* Light theme - Form elements */
body.theme-light .form-control-label,
body.theme-light .card label {
    color: #344767 !important;
}

body.theme-light .form-control,
body.theme-light .card input,
body.theme-light .card select {
    background-color: #ffffff !important;
    color: #344767 !important;
    border-color: #c0c0c0 !important;
}

body.theme-light select,
body.theme-light select.form-control,
body.theme-light .card select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23344767' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 12px !important;
    padding-right: 2rem !important;
    color: #344767 !important;
    border-color: #c0c0c0 !important;
}

body.theme-light select.form-control option,
body.theme-light .card select option {
    background-color: #ffffff !important;
    color: #344767 !important;
}

body.theme-light .form-control::placeholder {
    color: #8898aa !important;
}

/* Dark theme - Card background and body */
body.theme-dark .card {
    background-color: #1a1a2e !important;
    border: 1px solid #16213e !important;
}

body.theme-dark .card .card-body {
    background-color: #1a1a2e !important;
    color: #e0e0e0 !important;
}

body.theme-dark .card .card-header,
body.theme-dark .card .card-header.pb-0,
body.theme-dark .card-header {
    background-color: #1a1a2e !important;
    background-image: none !important;
    color: #e0e0e0 !important;
    border-bottom: none !important;
}

/* Dark theme - Form elements */
body.theme-dark .form-control-label,
body.theme-dark .card label {
    color: #e0e0e0 !important;
}

body.theme-dark .form-control,
body.theme-dark .card input,
body.theme-dark .card select {
    background-color: #0f3460 !important;
    color: #e0e0e0 !important;
    border-color: #16213e !important;
}

body.theme-dark select,
body.theme-dark select.form-control,
body.theme-dark .card select,
body.theme-dark #Sexo {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-color: #0f3460 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23e0e0e0' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 12px !important;
    padding-right: 2rem !important;
    color: #e0e0e0 !important;
    border-color: #16213e !important;
}

body.theme-dark select.form-control option,
body.theme-dark .card select option,
body.theme-dark select option {
    background-color: #0f3460 !important;
    color: #e0e0e0 !important;
}

body.theme-dark .form-control::placeholder {
    color: #8898aa !important;
}

/* ===== Core Label Separador Theme Styles ===== */
body.theme-light .core-label-separador,
body.theme-dark .core-label-separador {
    background-color: transparent !important;
}

body.theme-dark .core-label-separador {
    color: #ffffff !important;
}

/* Dark theme core-field-control */
body.theme-dark .core-field-control {
    background-color: #1a2a4a !important;
    color: #e0e0e0 !important;
    border-bottom-color: #3a4a6a !important;
}

body.theme-dark .core-text-control {
    background-color: #1a2a4a !important;
    color: #e0e0e0 !important;
    border-color: #3a4a6a !important;
    border-bottom-color: #3a4a6a !important;
}

/* ===== Main Content Container Theme Styles ===== */
/* Container-fluid minimum height to fill viewport */
#main-page.container-fluid,
.container-fluid.py-4#main-page {
    min-height: calc(100vh - 80px) !important;
}

/* Light theme - Main page container */
body.theme-light,
body.theme-light .main-content,
body.theme-light #main-content,
body.theme-light #main-page,
body.theme-light .container-fluid,
body.theme-light .g-sidenav-show {
    background-color: #e9ecef !important;
}

/* Dark theme - Main page container */
body.theme-dark,
body.theme-dark .main-content,
body.theme-dark #main-content,
body.theme-dark #main-page,
body.theme-dark .container-fluid,
body.theme-dark .g-sidenav-show,
body.theme-dark .sidenav,
body.theme-dark aside,
body.theme-dark .navbar-vertical {
    background-color: #0f0f22 !important;
}

/* Dark theme - body with specific classes */
body.g-sidenav-show.bg-gray-100.theme-dark {
    background-color: #0f0f22 !important;
}

/* Dark theme - top decorative bar */
body.theme-dark .min-height-400.bg-primary.position-absolute.w-100 {
    background-color: #0f0f22 !important;
}

/* ===== Result Container Theme Styles ===== */
/* Light theme - Result search container */
body.theme-light #result-search,
body.theme-light #result-search-telefonos,
body.theme-light #result-search-nombres,
body.theme-light #result-search-masiva,
body.theme-light #result-search-placas,
body.theme-light #result-dashboard,
body.theme-light .table-responsive {
    background-color: #f8f9fa !important;
    color: #344767 !important;
}

/* Dark theme - Result search container */
body.theme-dark #result-search,
body.theme-dark #result-search-telefonos,
body.theme-dark #result-search-nombres,
body.theme-dark #result-search-masiva,
body.theme-dark #result-search-placas,
body.theme-dark #result-dashboard,
body.theme-dark .table-responsive {
    background-color: #1a1a2e !important;
    color: #e0e0e0 !important;
}

/* ===== Flatpickr Calendar Theme Styles ===== */
/* Default theme - Flatpickr (no theme class) */
body:not(.theme-light):not(.theme-dark) .flatpickr-calendar,
body.theme-default .flatpickr-calendar {
    background: #ffffff !important;
    border: 1px solid #dee2e6 !important;
}

body:not(.theme-light):not(.theme-dark) .flatpickr-months,
body.theme-default .flatpickr-months,
body:not(.theme-light):not(.theme-dark) .flatpickr-calendar .flatpickr-months {
    background: #0d4c61 !important;
    background-image: none !important;
}

body:not(.theme-light):not(.theme-dark) .flatpickr-months .flatpickr-month,
body.theme-default .flatpickr-months .flatpickr-month {
    color: #ffffff !important;
    fill: #ffffff !important;
    background: transparent !important;
}

body:not(.theme-light):not(.theme-dark) .flatpickr-current-month,
body.theme-default .flatpickr-current-month {
    color: #ffffff !important;
}

body:not(.theme-light):not(.theme-dark) .flatpickr-current-month .flatpickr-monthDropdown-months,
body:not(.theme-light):not(.theme-dark) .flatpickr-current-month input.cur-year,
body.theme-default .flatpickr-current-month .flatpickr-monthDropdown-months,
body.theme-default .flatpickr-current-month input.cur-year {
    color: #ffffff !important;
    background: transparent !important;
}

body:not(.theme-light):not(.theme-dark) .flatpickr-months .flatpickr-prev-month,
body:not(.theme-light):not(.theme-dark) .flatpickr-months .flatpickr-next-month,
body.theme-default .flatpickr-months .flatpickr-prev-month,
body.theme-default .flatpickr-months .flatpickr-next-month {
    color: #ffffff !important;
    fill: #ffffff !important;
}

body:not(.theme-light):not(.theme-dark) .flatpickr-months .flatpickr-prev-month svg,
body:not(.theme-light):not(.theme-dark) .flatpickr-months .flatpickr-next-month svg,
body.theme-default .flatpickr-months .flatpickr-prev-month svg,
body.theme-default .flatpickr-months .flatpickr-next-month svg {
    fill: #ffffff !important;
}

body:not(.theme-light):not(.theme-dark) .flatpickr-weekdays,
body.theme-default .flatpickr-weekdays,
body:not(.theme-light):not(.theme-dark) .flatpickr-calendar .flatpickr-weekdays {
    background: #0d4c61 !important;
    background-image: none !important;
}

body:not(.theme-light):not(.theme-dark) span.flatpickr-weekday,
body:not(.theme-light):not(.theme-dark) .flatpickr-weekday,
body.theme-default .flatpickr-weekday {
    color: #ffffff !important;
    background: transparent !important;
}

body:not(.theme-light):not(.theme-dark) .flatpickr-day.selected,
body:not(.theme-light):not(.theme-dark) .flatpickr-day.selected:hover,
body.theme-default .flatpickr-day.selected {
    background: #0d4c61 !important;
    border-color: #0d4c61 !important;
    color: #ffffff !important;
}

body:not(.theme-light):not(.theme-dark) .flatpickr-day.today,
body.theme-default .flatpickr-day.today {
    border-color: #0d4c61 !important;
}

/* Light theme - Flatpickr */
body.theme-light .flatpickr-calendar,
.theme-light .flatpickr-calendar {
    background: #ffffff !important;
    border: 1px solid #c0c0c0 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

body.theme-light .flatpickr-months,
.theme-light .flatpickr-months,
body.theme-light .flatpickr-calendar .flatpickr-months {
    background: #a0a0a0 !important;
    background-image: none !important;
    border-radius: 5px 5px 0 0 !important;
}

body.theme-light .flatpickr-months .flatpickr-month,
.theme-light .flatpickr-months .flatpickr-month {
    color: #ffffff !important;
    fill: #ffffff !important;
    background: transparent !important;
}

body.theme-light .flatpickr-current-month,
.theme-light .flatpickr-current-month {
    color: #ffffff !important;
}

body.theme-light .flatpickr-current-month .flatpickr-monthDropdown-months,
body.theme-light .flatpickr-current-month input.cur-year,
.theme-light .flatpickr-current-month .flatpickr-monthDropdown-months,
.theme-light .flatpickr-current-month input.cur-year {
    color: #ffffff !important;
    background: transparent !important;
}

body.theme-light .flatpickr-months .flatpickr-prev-month,
body.theme-light .flatpickr-months .flatpickr-next-month,
.theme-light .flatpickr-months .flatpickr-prev-month,
.theme-light .flatpickr-months .flatpickr-next-month {
    color: #ffffff !important;
    fill: #ffffff !important;
}

body.theme-light .flatpickr-months .flatpickr-prev-month svg,
body.theme-light .flatpickr-months .flatpickr-next-month svg,
.theme-light .flatpickr-months .flatpickr-prev-month svg,
.theme-light .flatpickr-months .flatpickr-next-month svg {
    fill: #ffffff !important;
}

body.theme-light .flatpickr-months .flatpickr-prev-month:hover svg,
body.theme-light .flatpickr-months .flatpickr-next-month:hover svg {
    fill: #344767 !important;
}

body.theme-light .flatpickr-weekdays,
.theme-light .flatpickr-weekdays,
body.theme-light .flatpickr-calendar .flatpickr-weekdays {
    background: #a0a0a0 !important;
    background-image: none !important;
}

body.theme-light span.flatpickr-weekday,
body.theme-light .flatpickr-weekday,
.theme-light .flatpickr-weekday {
    color: #ffffff !important;
    background: transparent !important;
}

body.theme-light .flatpickr-day,
.theme-light .flatpickr-day {
    color: #344767 !important;
}

body.theme-light .flatpickr-day:hover {
    background: #e9ecef !important;
    border-color: #e9ecef !important;
}

body.theme-light .flatpickr-day.today {
    border-color: #0d4c61 !important;
}

body.theme-light .flatpickr-day.selected,
body.theme-light .flatpickr-day.selected:hover,
.theme-light .flatpickr-day.selected {
    background: #707070 !important;
    border-color: #707070 !important;
    color: #ffffff !important;
}

body.theme-light .flatpickr-day.disabled {
    color: #c0c0c0 !important;
}

/* Dark theme - Flatpickr */
body.theme-dark .flatpickr-calendar,
.theme-dark .flatpickr-calendar {
    background: #0f3460 !important;
    border: 1px solid #16213e !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
}

body.theme-dark .flatpickr-months,
.theme-dark .flatpickr-months,
body.theme-dark .flatpickr-calendar .flatpickr-months {
    background: #16213e !important;
    background-image: none !important;
    border-radius: 5px 5px 0 0 !important;
}

body.theme-dark .flatpickr-months .flatpickr-month,
.theme-dark .flatpickr-months .flatpickr-month {
    color: #e0e0e0 !important;
    fill: #e0e0e0 !important;
    background: transparent !important;
}

body.theme-dark .flatpickr-current-month,
.theme-dark .flatpickr-current-month {
    color: #e0e0e0 !important;
}

body.theme-dark .flatpickr-current-month .flatpickr-monthDropdown-months,
body.theme-dark .flatpickr-current-month input.cur-year,
.theme-dark .flatpickr-current-month .flatpickr-monthDropdown-months,
.theme-dark .flatpickr-current-month input.cur-year {
    color: #e0e0e0 !important;
    background: transparent !important;
}

body.theme-dark .flatpickr-months .flatpickr-prev-month,
body.theme-dark .flatpickr-months .flatpickr-next-month,
.theme-dark .flatpickr-months .flatpickr-prev-month,
.theme-dark .flatpickr-months .flatpickr-next-month {
    color: #e0e0e0 !important;
    fill: #e0e0e0 !important;
}

body.theme-dark .flatpickr-months .flatpickr-prev-month svg,
body.theme-dark .flatpickr-months .flatpickr-next-month svg,
.theme-dark .flatpickr-months .flatpickr-prev-month svg,
.theme-dark .flatpickr-months .flatpickr-next-month svg {
    fill: #e0e0e0 !important;
}

body.theme-dark .flatpickr-months .flatpickr-prev-month:hover svg,
body.theme-dark .flatpickr-months .flatpickr-next-month:hover svg {
    fill: #5d8aa8 !important;
}

body.theme-dark .flatpickr-weekdays,
.theme-dark .flatpickr-weekdays,
body.theme-dark .flatpickr-calendar .flatpickr-weekdays {
    background: #16213e !important;
    background-image: none !important;
}

body.theme-dark span.flatpickr-weekday,
body.theme-dark .flatpickr-weekday,
.theme-dark .flatpickr-weekday {
    color: #e0e0e0 !important;
    background: transparent !important;
}

body.theme-dark .flatpickr-weekday {
    color: #e0e0e0 !important;
}

body.theme-dark .flatpickr-days {
    background: #0f3460 !important;
}

body.theme-dark .flatpickr-day {
    color: #e0e0e0 !important;
}

body.theme-dark .flatpickr-day:hover {
    background: #16213e !important;
    border-color: #16213e !important;
}

body.theme-dark .flatpickr-day.today {
    border-color: #5d8aa8 !important;
}

body.theme-dark .flatpickr-day.selected,
body.theme-dark .flatpickr-day.selected:hover,
.theme-dark .flatpickr-day.selected {
    background: #5d8aa8 !important;
    border-color: #5d8aa8 !important;
    color: #ffffff !important;
}

body.theme-dark .flatpickr-day.disabled {
    color: #4a5568 !important;
}

body.theme-dark .flatpickr-day.prevMonthDay,
body.theme-dark .flatpickr-day.nextMonthDay {
    color: #4a5568 !important;
}

/* ===== DataTable Pagination & Export Buttons Theme Styles ===== */
/* Light theme - Export buttons */
body.theme-light .dt-buttons .dt-button,
body.theme-light .dt-buttons button.dt-button,
body.theme-light .buttons-excel,
body.theme-light .buttons-pdf,
body.theme-light .buttons-print {
    background-color: #a0a0a0 !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 1px solid #707070 !important;
}

body.theme-light .dt-buttons .dt-button:hover,
body.theme-light .buttons-excel:hover,
body.theme-light .buttons-pdf:hover,
body.theme-light .buttons-print:hover {
    background-color: #888888 !important;
    border-color: #606060 !important;
}

/* Light theme - Pagination buttons */
body.theme-light .dt-paging button,
body.theme-light .dt-paging a,
body.theme-light .dt-paging span,
body.theme-light .dataTables_paginate .paginate_button,
body.theme-light .dataTables_paginate a {
    background-color: #a0a0a0 !important;
    color: #ffffff !important;
    border: 1px solid #707070 !important;
}

body.theme-light .dt-paging button:hover,
body.theme-light .dt-paging a:hover,
body.theme-light .dataTables_paginate .paginate_button:hover,
body.theme-light .dataTables_paginate a:hover {
    background-color: #888888 !important;
    border-color: #606060 !important;
}

/* Light theme - Current/active page */
body.theme-light .dt-paging button.current,
body.theme-light .dt-paging a.current,
body.theme-light .dt-paging span.current,
body.theme-light .dataTables_paginate .paginate_button.current {
    background-color: #ffffff !important;
    color: #707070 !important;
    border: 1px solid #707070 !important;
}

/* Light theme - Disabled pagination */
body.theme-light .dt-paging button:disabled,
body.theme-light .dt-paging a.disabled,
body.theme-light .dt-paging .disabled,
body.theme-light .dataTables_paginate .paginate_button.disabled {
    background-color: #c0c0c0 !important;
    color: #ffffff !important;
    border: 1px solid #a0a0a0 !important;
    opacity: 0.6;
}

/* Dark theme - Export buttons */
body.theme-dark .dt-buttons .dt-button,
body.theme-dark .dt-buttons button.dt-button,
body.theme-dark .buttons-excel,
body.theme-dark .buttons-pdf,
body.theme-dark .buttons-print {
    background-color: #16213e !important;
    background-image: none !important;
    color: #e0e0e0 !important;
    border: 1px solid #5d8aa8 !important;
}

body.theme-dark .dt-buttons .dt-button:hover,
body.theme-dark .buttons-excel:hover,
body.theme-dark .buttons-pdf:hover,
body.theme-dark .buttons-print:hover {
    background-color: #1f2b47 !important;
    border-color: #7ab0d4 !important;
}

/* Dark theme - Pagination buttons */
body.theme-dark .dt-paging button,
body.theme-dark .dt-paging a,
body.theme-dark .dt-paging span,
body.theme-dark .dataTables_paginate .paginate_button,
body.theme-dark .dataTables_paginate a {
    background-color: #16213e !important;
    color: #e0e0e0 !important;
    border: 1px solid #5d8aa8 !important;
}

body.theme-dark .dt-paging button:hover,
body.theme-dark .dt-paging a:hover,
body.theme-dark .dataTables_paginate .paginate_button:hover,
body.theme-dark .dataTables_paginate a:hover {
    background-color: #1f2b47 !important;
    border-color: #7ab0d4 !important;
}

/* Dark theme - Current/active page */
body.theme-dark .dt-paging button.current,
body.theme-dark .dt-paging a.current,
body.theme-dark .dt-paging span.current,
body.theme-dark .dataTables_paginate .paginate_button.current {
    background-color: #5d8aa8 !important;
    color: #ffffff !important;
    border: 1px solid #5d8aa8 !important;
}

/* Dark theme - Disabled pagination */
body.theme-dark .dt-paging button:disabled,
body.theme-dark .dt-paging a.disabled,
body.theme-dark .dt-paging .disabled,
body.theme-dark .dataTables_paginate .paginate_button.disabled {
    background-color: #0f1a2e !important;
    color: #8fa8c8 !important;
    border: 1px solid #3a4a6a !important;
    opacity: 0.6;
}

/* ===== DataTable Header Theme Styles (Database Content) ===== */
/* Light theme - DataTable headers */
body.theme-light #result-search th,
body.theme-light #result-search-telefonos th,
body.theme-light #result-search-nombres th,
body.theme-light #result-search-placas th,
body.theme-light #result-search-masiva th,
body.theme-light #result-search-sinresultados th,
body.theme-light .table-responsive th,
body.theme-light table.dataTable thead th,
body.theme-light table.display thead th {
    background-color: #e0e0e0 !important;
    color: #344767 !important;
    border-color: #c0c0c0 !important;
}

body.theme-light #result-search td,
body.theme-light #result-search-telefonos td,
body.theme-light #result-search-nombres td,
body.theme-light #result-search-placas td,
body.theme-light #result-search-masiva td,
body.theme-light #result-search-sinresultados td,
body.theme-light .table-responsive td,
body.theme-light table.dataTable tbody td,
body.theme-light table.display tbody td {
    background-color: #f8f9fa !important;
    color: #344767 !important;
    border-color: #c0c0c0 !important;
}

/* Dark theme - DataTable headers */
body.theme-dark #result-search th,
body.theme-dark #result-search-telefonos th,
body.theme-dark #result-search-nombres th,
body.theme-dark #result-search-placas th,
body.theme-dark #result-search-masiva th,
body.theme-dark #result-search-sinresultados th,
body.theme-dark .table-responsive th,
body.theme-dark table.dataTable thead th,
body.theme-dark table.display thead th {
    background-color: #16213e !important;
    color: #e0e0e0 !important;
    border-color: #5d8aa8 !important;
}

body.theme-dark #result-search td,
body.theme-dark #result-search-telefonos td,
body.theme-dark #result-search-nombres td,
body.theme-dark #result-search-placas td,
body.theme-dark #result-search-masiva td,
body.theme-dark #result-search-sinresultados td,
body.theme-dark .table-responsive td,
body.theme-dark table.dataTable tbody td,
body.theme-dark table.display tbody td {
    background-color: #1a1a2e !important;
    color: #e0e0e0 !important;
    border-color: #3a4a6a !important;
}

/* ==========================================================================
   SWEETALERT2 CUSTOM BUTTON STYLING
   ========================================================================== */

/* Button spacing in SweetAlert modals */
.swal2-actions {
    gap: 12px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}

.swal2-actions .btn {
    margin: 0 !important;
    min-width: 140px;
    padding: 10px 24px !important;
    white-space: nowrap !important;
}