/* Fuente Open Sans */
/* Light - fw-normal (400) */
@font-face {
    font-family: 'Inter';
    src: url('../vendor/fonts/inter/Inter-Light.ttf') format('truetype');
    font-weight:200;
    font-style: normal;
    font-display: swap;
}


/* Regular - fw-normal (400) */
@font-face {
    font-family: 'Inter';
    src: url('../vendor/fonts/inter/Inter-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Medium - fw-medium (500) */
@font-face {
    font-family: 'Inter';
    src: url('../vendor/fonts/inter/Inter-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* SemiBold - fw-semibold (600) */
@font-face {
    font-family: 'Inter';
    src: url('../vendor/fonts/inter/Inter-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

/* Bold - fw-bold (700) */
@font-face {
    font-family: 'Inter';
    src: url('../vendor/fonts/inter/Inter-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

html, body {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
    color: #0f172a; /* gris oscuro moderno */
}

main {
    background-color: white;
    border-radius: 20px;
}

main {
    height: 100%;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
}

.main-scroll {
    height: 100%;
    overflow-y: auto;
    padding: 1.5rem;

    scrollbar-gutter: stable both-edges;
}


h1, h2, h3, h4, h5, h6, p, small, span, label {
    margin: 0;
    padding: 0;
}

h1, h2, h3 {
    font-weight: 600;
    letter-spacing: -0.02em;
}

h4, h5 {
    font-weight: 600;
    letter-spacing: -0.01em;
}

h6 {
    font-weight: 500;
    font-size: 1.1rem;
}

p, table tr td {
    font-size: 0.85rem;
    font-weight: 400;
}


.text-muted {
    color: #868686 !important;
}

.text-semimuted {
    color: #444746 !important;
}

small, .small {
    font-size: 0.95rem;
    font-weight: 400;
}

.text-xs {
    font-size: 0.75rem;
    font-weight: 400;
}

.text-sm {
    font-size: 0.85rem;
    font-weight: 400;
}


.nav-link {
    font-weight: 500;
    font-size: 0.85rem;
    padding: 12px 18px;
    border-radius: 20px;
    /* color:white !important; */
}

.nav-link:hover {
    color: black !important;
    background-color: #e7e8eb;
    padding: 12px 18px;
    border-radius: 20px;
}

.nav-link.active {
    font-weight: 600;
    background-color: #e7e8eb;
    color:black;
    border-radius: 20px;
    padding: 12px 18px;
}

.nav-link.active:hover {
    color:black !important;
}

button {
    font-weight: 500 !important;
    font-size: 0.88rem !important;
}

.btn-primary:hover {
    background-color: #1B96D5;
    border-color: #1B96D5;
}

.btn-primary {
    background-color: #038CD1;
    border-color: #038CD1;
}

.btn-outline-primary {
    color: #038CD1;
    border-color: #038CD1;
}

.btn-outline-primary:hover {
    background-color: #038CD1;
    color: white;
    border-color: #038CD1;
}

/* padding y border a todos los botnes */
.btn-soft {
    padding: 10px 30px;
    border-radius: 25px;
}

.btn-light:hover {
    background-color: #fdc300;
    border-color: #fdc300;
}

.btn-close {
  transform: scale(0.7); 
}

.modal-header {
    padding: 25px 20px;
}

.modal-header,
.modal-footer,
.card-header {
    border: none;
}

.form-label {
    font-weight: 600;
    font-size: 0.85rem;
}

input, select, .form-select{
    margin-bottom: 1.5rem;
    font-size: 0.85rem !important;
}

.form-control,
.form-select,
.ts-control {
  font-size: 0.85rem;
}

.form-control:focus, .form-select:focus, .ts-control:focus,
.ts-wrapper.single.focus .ts-control {
  border-color: #038CD1 !important;
  box-shadow: 0 0 0 0.2rem hsla(200, 97%, 42%, 0.4) !important;
}

.ph-sm::placeholder {
  font-size: 0.8rem;
}

.dropzone {
    border: 2px dashed #E5E7EB;
    border-radius: 10px;
    background-color: #F9FAFB;
    transition: border 0.3s ease;
}

.dropzone:hover {
    border: 2px dashed #038CD1;
}

/* Ajustes responsivos */
@media (max-width: 767.98px) {
    nav.d-none.d-md-block {
        display: none !important;
    }

    .offcanvas.offcanvas-start .offcanvas-body {
        padding: 0.75rem 1rem;
    }

    .navbar h5 {
        font-size: 1rem;
    }

    .modal-dialog {
        max-width: 95%;
        margin: 1.25rem;
    }

    .container {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    .table-responsive-mobile {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table thead {
        display: table-header-group;
    }

    .d-flex.vh-100 {
        min-height: auto;
    }
}

/* Mejor apariencia de la tabla en pantallas pequeñas */
.table td, .table th {
    vertical-align: middle;
}

tr.seleccionado td:first-child {
    background-color: #d7ebf6 !important;
    border-left: 4px solid #038CD1;
}

tr.seleccionado td:not(:first-child) {
    background-color: #d7ebf6 !important;
}


.card {
    border:#e5e7eb 1px solid;
}

.folder {
    border: none;
    background-color: #f0f4f9;
}

.folder:hover {
    background-color: #e3e4e3;
    cursor:pointer;
}
.folder-check {
    opacity: 0;
    transition: opacity .15s;
}

.folder:hover .folder-check,
.folder.selected .folder-check {
    opacity: 1;
}

.folder.selected {
    background-color: #e9f2ff;
    border-color: #0d6efd;
}


thead tr {
    font-size: 0.75rem;
}

.dt-paging {
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: 1rem 0 1rem 0;
}

.active>.page-link {
    background-color: #038CD1;
    border-color: #038CD1;
}

.opacity-0 {
    opacity: 0;
    transition: opacity 0.15s ease;
}

.bg-success {
    background: #00bc7d !important;
    background: linear-gradient(90deg,#00bc7d 0%, #00c951 100%) !important;
    color: white;
}

.swal2-title {
    font-size: 1.7rem;
}

.swal2-popup {
    border-radius: 18px;
}

#rpasDisponibles {
    border: 1px solid #dee2e6; 
    border-radius: 0.375rem;
    padding: 0.5rem; 
    max-height: 122px; 
    overflow-y: auto;
}


.thead-success th {
    background-color: #d4fbe6 !important;
    color: #006045 !important;
}

.box-icon-primary {
    background: #35a2d9;
    color: white;
    width: 35px; 
    height: 35px; 
    border-radius: 10px; 
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
}

.box-icon-lightblue {
    background: #d9eef8;
    color: white;
    width: 35px; 
    height: 35px; 
    border-radius: 10px; 
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
}

.box-icon-success {
    background-color: #33ca95; 
    width: 35px; 
    height: 35px; 
    border-radius: 10px; 
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
}

.bg-primary-gradient {
    background: #038CD1; 
    background: linear-gradient(90deg, rgba(3, 140, 209, 1) 0%, rgba(0, 118, 181, 1) 50%);
    color: white;
}

.bg-primary {
    background: #038CD1 !important; 
    color: white;
}

.alert-lightblue {
    background-color: #f0f7fb;
    font-weight: bold;
}

.border-lightblue {
    border: #cbe6f4 3px solid ;
}

.dt-empty {
    font-size: 0.9rem;
    padding: 2rem !important;
}

.border-lightgreen {
    border: #a4f4cf 3px solid ;
}

.border-secondary {
    border: #e5e7eb 2px solid !important;
}

table {
    border-collapse: separate;
    border-spacing: 0;
}

.tabla-rpas thead th:first-child {
    border-top-left-radius: 12px;
}

.tabla-rpas thead th:last-child {
    border-top-right-radius: 12px;
}

input::placeholder,
textarea::placeholder {
    color: #a3a3a3 !important;
    font-weight: 200 !important;
    opacity: 1 !important;
}