
[data-bs-theme=light] {
    --bs-primary: #015356 !important;
    --bs-link-color-rgb:  #015356 !important;
    --bs-link-color: #015356 !important;
    --bs-link-hover-color: #015356 !important;
    --bs-pagination-hover-color: #015356 !important;
    --bs-pagination-focus-color: #015356 !important;
    --bs-pagination-active-bg:  #015356 !important;

    --bs-btn-hover-color: #002D37 !important;
    --bs-btn-hover-bg: #002D37 !important;
    --bs-btn-hover-border-color: #002D37 !important;
    --bs-component-hover-color: #002D37 !important;
    --bs-primary-text-emphasis: #002D37 !important;
    --bs-link-hover-color-rgb: #002D37 !important;
    --bs-btn-active-bg: #002D37 !important;
    --bs-btn-active-color: #002D37 !important;
    --bs-primary-active: #002D37 !important;

    --bs-bg-rgb-color: #b3b3b380 !important;

    --primary-green-color: #b3fa32 !important;

    --orange-light-color: #ffd49f6e;
    --orange-color: #f17400;

    --red-dark-color: #5d0000;
    --red-light-color: #ffeef3;
    --red-color: #c90000;

    --green-light-color: #dfffea;
    --green-color: #71b500;
    --green-eti: #b3fa32;
    --green-dark-eti: #002D37;
    --bs-beige-light: #F4F2EE;
    --bs-beige-dark: #c8c4ba;
    --bs-lead-light-orange: #FFE2A9;
    --bs-lead-orange: #FF9000;
    --bs-lead-dark-orange: #905200;
    --bs-opp-light-purple: #ECDEFF;
    --bs-opp-purple: #CD8FFF;
    --bs-opp-dark-purple: #3F0092;
    --bs-client-dark-blue: #1C6965;
    --bs-client-blue: #198A9E;
    --bs-client-light-blue: #D2F6FF;
    --bs-eti-dark-green: #568500;
    --bs-eti-green: #658C1E;
    --bs-eti-light-green: #D2F19B;
    --bs-nautic-dark-blue: #002248;
    --bs-nautic-blue: #0090B4;
    --bs-nautic-light-blue: #72D1E9;
    --green-light-nexus: #d7ffe4;
    --green-nexus: #47f980;
    --green-dark-nexus: #1a7738;
    --bs-red-dark: #480000;
    --bs-red: #b40000;
    --bs-red-light: #e97272;
    --bs-yellow-light: #fff9cc;
    --bs-yellow: #ffe066;
    --bs-yellow-dark: #cc9a00;
    --bs-blue-light: #41d3fd;
    --bs-blue: #5a86f1;
    --bs-blue-dark: #3a47cc;
    --bs-cyan-light: #9ff9ff;
    --bs-cyan: #33d6e5;
    --bs-cyan-dark: #1ca7b5;

}

.toolbar-box {
    border-bottom: 1px solid #e1e1e1;
    border-radius: 20px 20px 0 0;
}

.bg-opacity-50 {
    background-color: #b3b3b380 !important;
}

a.btn.btn-primary.btn-sm:hover {
    color: black;
    background-color: #b3fa32 !important;
}

button.btn.btn-primary.btn-sm:hover {
    color: black;
    background-color: #b3fa32 !important;
}

a.btn.btn-opportunity.btn-sm {
    color: #a16d25;
    background-color: #ffd49f6e !important;
}
a.btn.btn-opportunity.btn-sm:hover {
    color: #f3f3f3;
    background-color: #f17400 !important;
}
a.btn {
    border: 1px solid #969daf !important;
}

.btn-check:checked + .btn.btn-primary i,
.btn-check:checked + .btn.btn-primary .svg-icon, .btn-check:active + .btn.btn-primary i,
.btn-check:active + .btn.btn-primary .svg-icon, .btn.btn-primary:focus:not(.btn-active) i,
.btn.btn-primary:focus:not(.btn-active) .svg-icon, .btn.btn-primary:hover:not(.btn-active) i,
.btn.btn-primary:hover:not(.btn-active) .svg-icon, .btn.btn-primary:active:not(.btn-active) i,
.btn.btn-primary:active:not(.btn-active) .svg-icon, .btn.btn-primary.active i,
.btn.btn-primary.active .svg-icon, .btn.btn-primary.show i,
.btn.btn-primary.show .svg-icon, .show > .btn.btn-primary i,
.show > .btn.btn-primary .svg-icon {
    color: black;
}

.btn.btn-secondary.active {
    color: #270037 !important;
}

.email-info {
    padding: 16px;
    border-radius: 10px;
    background-color: #e2e2e2;
}
.email-content {
    padding: 16px;
    background-color: #ffffff;
    border: 1px solid var(--bs-app-bg-color);
    border-radius: 10px;
}

.page-link.active, .active > .page-link {
    background-color: #d1d1d1 !important;
}

.text-small {
    font-size: small;
}
.text-x-small {
    font-size: smaller;
}
.text-semi-muted {
    --bs-text-opacity: 1;
    color: #818181 !important;
}

.left-card-muted {
    background-color: #f5f5f5;
    border: 1px solid #002D37;
}

.left-card-muted-header {
    padding: 1rem;
    border-bottom: 1px solid #afafaf;
}
.left-card-muted-footer {
    border-top: 1px solid #afafaf;
}

.image-border {
    border: 1px solid #002D37;
}

.dark-green-style-color {
    color: #002D37;
}

.border-bottom-gray {
    border-bottom-color: #002D37 !important;
}

.simple-link {
    text-decoration: underline;
    padding-top: 5px;
    padding-bottom: 5px;
}
.simple-link:hover {
    background-color: var(--primary-green-color);
    color: var(--bs-black);
}
.card-transparent {
    box-shadow: 0 0 0 !important;
    border: 0 !important;
    background-color: #dae1e2 !important;
}
.bg-opportunity {
    background-color: var(--orange-color);
}

.bg-clients {
    background-color: var(--green-color);
}

.bg-light-green {
    background-color: var(--green-light-color) !important;
}

.bg-light-red {
    background-color: var(--red-light-color) !important;
}

.inner-container-box {
    border: 1px solid var(--bs-app-bg-color);
    border-radius: 10px;
    padding: 15px;
    margin: 10px;
}

.danger-alert {
    background-color: var(--red-light-color);
    border: 1px solid var(--red-color);
    border-radius: 5px;
    color: var(--red-dark-color);
}

.simple-link-vcard {
    text-decoration: underline;
}
.simple-link-vcard:hover {
    color: var(--bs-primary)
}

.bg-card-total {
    background-color: var(--bs-beige-light) !important;
    border: 1px solid #DFD6CF;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.card-flip {
    position: relative;
    width: 100%;
    max-width: 445px;
    height: 350px;
    perspective: 1000px;
    margin: auto;
}

.card-flip .card {
    transition: transform 0.6s ease-in-out;
    transform-style: preserve-3d;
    position: absolute;
    width: 100%;
    backface-visibility: hidden;
    border-radius: 30px;
}

.card-flip .card-front {
    height: 257px;
    z-index: 2;
}

.card-flip .card-back {
    border:0;
    height: 257px;
    transform: rotateY(180deg);
}

.card-flip.flipped .card-front {
    transform: rotateY(180deg);
}

.card-flip.flipped .card-back {
    z-index: 2;
    transform: rotateY(0deg);
}

.card-icon {
    color: var(--bs-primary) !important;
}

.badge-blue {
    color: var(--bs-white);
    background-color: var(--bs-blue);
}

.badge-eti {
    color: var(--green-eti);
    background-color: var(--green-dark-eti);
}

.badge-secondary.badge-outline {
    border: 1px solid var(--bs-secondary);
    background-color: transparent;
    color: var(--bs-secondary-inverse);
}

.admin-menu-link {
    /* Siempre se aplica a la clase admin-menu-link */
    border: 1px solid var(--bs-app-bg-color);
}

.admin-menu-link.active {
    /* Si además está la clase active */
    color: var(--green-eti) !important;
    border: 1px solid var(--green-eti) !important;
    background-color: var(--green-dark-eti) !important;
}

/*
  Si la .menu-title va dentro de un .admin-menu-link.active,
  se fuerza su color también en var(--bs-primary)
*/
.admin-menu-link.active .menu-title {
    color: var(--green-eti) !important;
}

.symbol-bg {
    background-color: var(--bs-app-bg-color);
    border: 1px solid gray;
}
.my-global-error-list {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

.drop-zone {
 border: 2px dashed #ccc;
 padding: 30px;
 text-align: center;
 color: #ccc;
 cursor: pointer;
 transition: background-color 0.2s, border-color 0.2s;
}
.drop-zone.drag-over {
background-color: #f0f0f0;
border-color: #333;
color: #333;
}
.drop-zone.uploaded {
    border-color: #28a745;
    background-color: #eaffea;
    color: #28a745;
}
.ck-editor__branding {
    display: none;
}
.subform-container {
    border: 1px solid lightgrey;
    border-radius: 20px;
    padding: 15px;
}
.subform-container-row {
    border: 1px solid grey;
    border-radius: 20px;
    padding: 20px;
}

.search-input-2 {
    padding: 8px 20px 8px 20px;
    border: 1px solid lightgray;
    border-radius: 30px;
    width: 250px;
    color: slategray;
}
.select-input-2 {
    border: 1px solid lightgray;
    border-radius: 30px;
    width: 250px;
    color: slategray;
    height: 38px;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 14px;
}

.glass-bg-card {
    /* From https://css.glass */
    background: rgba(0, 45, 55, 0.6);
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(13.9px);
    -webkit-backdrop-filter: blur(13.9px);
    border: 1px solid rgba(255, 255, 255, 0.91);
}
.alt-form {
    background-color: var(--bs-beige-light) !important;
    pointer-events: none;
    box-shadow: none !important;
    cursor: default;
    /*border-color: var(--bs-gray-200) !important;*/
    /*color: var(--bs-gray-800) !important;*/
}
.view-top-box {
    border: 1px solid lightgray;
    border-radius: 10px;
    padding: 30px;
    background-color: transparent;
}

/* DATATABLES CSs -------------------------------------- */
/* Estilo general del DataTable */
.custom-datatable {
    border-collapse: separate;
    border-spacing: 0 1rem;
    width: 100%;
}

.custom-datatable thead {
    display: none; /* Ocultamos el encabezado si no lo necesitas */
}

.custom-datatable tbody tr {
    background-color: white !important;
    border-radius: 1rem;
    font-size: 16px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 1rem 1rem 0.5rem 0;
    margin-bottom: 10px;
    border:1px solid var(--bs-secondary-active);
    transition: transform 0.2s ease;
    color: #002d37;
}

.custom-datatable tbody tr:hover {
    /*transform: translateY(-3px);*/
    background-color: var(--bs-primary) !important;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease;
}
.custom-datatable tbody tr:hover td  {
    color: white;
    transition: transform 0.2s ease;
}
.custom-datatable td span:not(.badge) {
    font-size: 14px;
    color: var(--bs-text-muted);
    transition: color 0.2s ease;
}
.custom-datatable tbody tr:hover td span:not(.badge) {
     color: white;
}

/* Cada celda se comporta como un bloque flexible */
.custom-datatable td {
    /*border: none;*/
    margin: 0.5rem 2rem;
    font-size: 0.95rem;
    color: #002d37;
}

/* Ajustes para columnas clave (como la primera) */
.custom-datatable td:first-child {
    flex: 2 1 25%;
    font-weight: bold;
}

/* Alinear valores numéricos a la derecha */
.custom-datatable td:nth-child(n+2) {
    text-align: right;
}

/* Estilo para "PERIODICITY" o columnas específicas */
.custom-datatable td:last-child {
    /*text-align: center;*/
}

/* Si necesitas que las banderas también estén dentro */
.custom-datatable img.flag-icon {
    width: 24px;
    height: auto;
    margin-right: 0.5rem;
    vertical-align: middle;
}
.custom-datatable tbody tr {
    display: flex;
    flex-wrap: nowrap; /* ← Fuerza que todas las columnas estén en línea */
}

.custom-datatable td:nth-child(1) {
    flex: 0 0 30%;
}
.custom-datatable td:nth-child(2),
.custom-datatable td:nth-child(3),
.custom-datatable td:nth-child(4),
.custom-datatable td:nth-child(5) {
    flex: 0 0 17.5%;
}

/* TABS CSs --------------------------------------- */
/* Estilo base para todos los tabs */
.custom-tabs .nav-link {
    background-color: #f4f6f9; /* Fondo claro */
    border: 1px solid #d1d5db; /* Borde suave */
    border-radius: 10px;
    color: #374151; /* Texto gris oscuro */
    padding: 6px 30px 6px 30px;
    margin-right: 10px;
    transition: all 0.2s ease;
    font-weight: 500;
    font-size: 0.95rem;
}

/* Hover */
.custom-tabs .nav-link:hover {
    background-color: #e5e7eb; /* Un poco más oscuro */
    border-color: #9ca3af;
    color: #111827; /* Texto más oscuro */
}

/* Active */
.custom-tabs .nav-link.active {
    background-color: var(--green-eti);
    color: var(--bs-primary);
    border-color: #9ca3af;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.3);
}

/* Quitar borde y fondo por defecto de Bootstrap */
.custom-tabs .nav-link:focus,
.custom-tabs .nav-link:active {
    outline: none;
    box-shadow: none;
}

/* ===== SUBTABS ===== */
.custom-subtabs .nav-link {
    background-color: #f4f6f9; /* Fondo blanco para diferenciar */
    border: 1px solid #e5e7eb; /* Borde claro */
    border-radius: 6px;
    color: #4b5563; /* Gris intermedio */
    padding: 5px 25px;
    margin-right: 10px;
    font-size: 0.95rem; /* Más pequeño que el tab principal */
    font-weight: 500;
    transition: all 0.2s ease;
}

/* Hover */
.custom-subtabs .nav-link:hover {
    background-color: #f3f4f6; /* Gris suave */
    border-color: #d1d5db;
    color: #1f2937;
}

/* Active */
.custom-subtabs .nav-link.active {
    background-color: #edcfff; /* Azul muy claro */
    color: #333333; /* Azul más fuerte */
    border-color: #604373;
    box-shadow: 0 1px 4px rgba(3, 105, 161, 0.2);
}

/* Limpieza de focus */
.custom-subtabs .nav-link:focus,
.custom-subtabs .nav-link:active {
    outline: none;
    box-shadow: none;
}

/** Dashboard cards styles */
/* styles/components/_dashboard-card.scss */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.dashboard-card {
    --card-bg: var(--bs-secondary);
    --text-color: var(--bs-gray-800);
    background: var(--card-bg);
    color: var(--text-color);
    border-radius: 1rem;
    padding: 1.5rem;
    width: 280px;
    display: flex;
    flex-direction: column;
    align-items: center;

    animation: fadeInUp 0.6s ease-out both;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.dashboard-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

/* Estilos de fondo */
.dashboard-card_purple_bg {
    background-image: linear-gradient(45deg, var(--bs-opp-purple), var(--bs-opp-light-purple));
}

.dashboard-card_orange_bg {
    background-image: linear-gradient(45deg, var(--bs-lead-orange), var(--bs-lead-light-orange));
}

.dashboard-card_blue_bg {
    background-image: linear-gradient(45deg, var(--bs-client-blue), var(--bs-client-light-blue));
}

.dashboard-card_green_bg {
    background-image: linear-gradient(45deg, var(--bs-eti-green), var(--bs-eti-light-green));
}

.dashboard-card_nautic_bg {
    background-image: linear-gradient(45deg, var(--bs-nautic-dark-blue), var(--bs-nautic-blue));
}

/* Contenido */
.dashboard-card__title {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.dashboard-card__count {
    font-size: 3rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 0.25rem;
}

.dashboard-card__label {
    font-size: 0.9rem;
    font-style: italic;
    margin-bottom: 1.5rem;
    opacity: 0.8;
}

/* Botones */
.dashboard-card__buttons {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
}

.dashboard-card__btn {
    border: none;
    border-radius: 2rem;
    padding: 0.6rem 1rem;
    cursor: pointer;
    width: 100%;
    transition: all 0.25s ease;
    transform: scale(1);
}

.dashboard-card__btn:hover {
    border: 1px solid var(--text-color);
    transform: scale(1.03);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.dashboard-card__btn--primary {
    background: rgba(0, 0, 0, 0.2);
    color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.2);
}

.dashboard-card__btn--nautic {
    background: rgba(0, 0, 0, 0.2);
    color: #fff;
    border: 1px solid white;
}

.dashboard-card__btn--secondary {
    background: var(--bs-secondary-bg);
    color: var(--bs-gray-600);
    border: 1px solid var(--bs-gray-200);
}

/** ARTICLES STYLES -----------------*/
/* Reset básico para la lista */
.activities-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Cada ítem como tarjeta ligera */
.activity-item {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    margin-bottom: 0.5rem;
    border-radius: 0.375rem;        /* 6px */
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    background-color: #fff;
    transition: transform 0.2s, box-shadow 0.2s;
}

/* Efecto hover */
.activity-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Línea de tiempo (barra de color) */
.activity-item::before {
    content: "";
    flex-shrink: 0;
    width: 4px;
    height: 100%;
    border-radius: 2px;
    margin-right: 1rem;
    background-color: #6c63ff; /* color principal */
}

/* Fecha y hora */
.activity-time {
    font-family: monospace;
    font-size: 0.875rem;  /* 14px */
    color: #666;
    margin-right: 1rem;
    white-space: nowrap;
}

/* Tipo de actividad */
.activity-type {
    font-size: 1rem;     /* 16px */
    font-weight: 600;
    color: #333;
    text-transform: capitalize;
    margin-right: auto;
}


.activity-info {
    font-size: 0.875rem;
    color: #555;
    margin-left: 1rem;
}

.activity-item[data-type="lead_created"]::before        { background-color: #2a9d8f; }
.activity-item[data-type="opportunity_created"]::before { background-color: #e9c46a; }
.activity-item[data-type="document_created"]::before    { background-color: #f4a261; }
.activity-item[data-type="email_sent"]::before          { background-color: #264653; }
.activity-item[data-type="client_created"]::before      { background-color: #8ab17d; }
.activity-item[data-type="client_approved"]::before     { background-color: #4caf50; }
.activity-item[data-type="invoice_created"]::before     { background-color: #d65f5f; }
.activity-item[data-type="opportunity_won"]::before     { background-color: #ffb703; }
.activity-item[data-type="document_signed"]::before     { background-color: #0077b6; }


.activities-list li:only-child {
    text-align: center;
    color: #999;
    font-style: italic;
}

/* Annotations styles */

.annotation-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.annotation-item {
    border-left: 4px solid var(--bs-lead-orange);
    background-color: #FAFAFA;
    padding: 1rem 1.5rem;
    margin-bottom: 1rem;
    border-radius: 0.25rem;
    transition: background-color 0.2s, border-color 0.2s;
}
/* Estilo para tus propias anotaciones */
.annotation-item-user {
    border-left-color: #10B981;        /* verde para destacar */
    background-color: #ECFDF5;         /* fondo suave verde */
}
.annotation-meta {
    font-size: 0.875rem;
    color: #6B7280;
    margin-bottom: 0.5rem;
}
.annotation-number {
    font-weight: bold;
    color: #000000;
    margin-right: 0.5rem;
}
.annotation-text {
    font-size: 1rem;
    color: #111827;
    line-height: 1.5;
}
.count-cards {
    background-color: #FFFFFF !important;
    border: 1px solid #EFF2F5;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
}

.clickable-row {
    cursor: pointer;
}

#kt_header_search .menu[data-kt-search-element="content"] {
    max-height: 400px !important;
    overflow-y: auto !important;
}

.assistant-meta {
    font-size: 1rem;
    font-weight: 500;
    white-space: nowrap;
    color: rgba(255, 255, 255, 0.9);
}

.assistant-meta strong {
    color: #ffffff;
    font-weight: 600;
}

.assistant-meta time,
.assistant-meta .assistant-time {
    color: rgba(255, 255, 255, 0.65);
    font-weight: 500;
}

.custom-datatable { width: 100% !important; }
.custom-datatable th, .custom-datatable td { overflow: hidden; }

.op-col-name { width: 55%; }
.op-col-type { width: 15%; }
.op-col-state { width: 15%; }
.op-col-date { width: 15%; }

.op-cell-ellipsis { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }

.op-main-col { min-width: 0; flex: 1 1 auto; }
.op-team-col { width: 120px; flex: 0 0 120px; }

.search-input-2 { min-width: 220px; }

.btn-fo:hover {
    color: white;
}

.client-type-card {
    transition: all 0.2s ease;
}

.client-type-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-color: #4caf50 !important;
}

.client-type-card .form-check-input {
    display: none;
}

.client-type-card.selected {
    background-color: #b3fa32;
    border-color: #28a745 !important;
}

.client-type-card.selected span {
    color: black;
}

.client-type-card.selected .bi {
    color: #28a745 !important;
    border-color: black !important;
}
