﻿/* =====================================================
   PALETA GLOBAL DEL SISTEMA
=====================================================*/
body {
    font-family: 'Inter', sans-serif;
}

:root {
    --color-gold: #C8A96A;
    --color-gold-dark: #9C7A3C;
    --color-black: #111111;
    --color-black-soft: #1c1c1c;
    --color-white: #ffffff;
    --color-silver: #BFC3C7;
    --color-blue-nifty: #25476A;
}




/* =====================================================
   NAVBAR SUPERIOR
=====================================================*/

#navbar-content {
    background-color: var(--color-black) !important;
    color: var(--color-white) !important;
}

    #navbar-content .nav-link {
        color: var(--color-white) !important;
    }

        #navbar-content .nav-link:hover {
            color: var(--color-gold) !important;
        }
/* =====================================================
   NAVBAR FIX COMPLETO (ELIMINA AZUL DE NIFTY)
===================================================== */

#navbar {
    background-color: var(--color-black) !important;
}

#navbar-container {
    background-color: var(--color-black) !important;
}

#navbar-content {
    background-color: var(--color-black) !important;
    color: var(--color-white) !important;
}

    /* quitar overlays azules de Nifty */

    #navbar::before,
    #navbar-content::before,
    #navbar-container::before {
        display: none !important;
    }


/* BOTON TOGGLE MENU */

.tgl-menu-btn a i {
    color: var(--color-white);
    font-size: 18px;
}

.tgl-menu-btn a:hover i {
    color: var(--color-gold) !important;
}


/* =====================================================
   LOGO AREA
=====================================================*/

.navbar-header .navbar-brand {
    background-color: var(--color-black) !important;
}

.navbar-brand .brand-text {
    color: var(--color-white);
}

.navbar-brand:hover {
    background-color: var(--color-black-soft) !important;
}
.navbar-header {
    background-color: var(--color-black) !important;
}

.navbar-brand {
    background-color: var(--color-black) !important;
}

#navbar-content .nav > li > a:hover {
    color: var(--color-gold) !important;
}

/* =====================================================
   SIDEBAR
=====================================================*/

#mainnav-container {
    background-color: var(--color-black) !important;
}

#mainnav {
    background-color: var(--color-black) !important;
}


    /* HEADER SIDEBAR */

    #mainnav .list-header {
        color: var(--color-silver);
        opacity: .7;
    }


/* ITEMS MENU */

#mainnav-menu li a {
    color: var(--color-silver);
}


    /* ICONOS MENU */

    #mainnav-menu li a i {
        color: var(--color-silver);
    }


    /* HOVER MENU */

    #mainnav-menu li a:hover {
        background-color: var(--color-black-soft);
        color: var(--color-gold) !important;
    }

        #mainnav-menu li a:hover i {
            color: var(--color-gold);
        }


/* ITEM ACTIVO */

#mainnav-menu .active-link > a {
    background-color: var(--color-black-soft) !important;
    border-left: 4px solid var(--color-gold);
    color: var(--color-white) !important;
}


/* SUBMENU */

#mainnav-menu ul li a {
    padding-left: 50px;
}

    #mainnav-menu ul li a:hover {
        color: var(--color-gold);
    }


/* =====================================================
   DROPDOWN USUARIO
=====================================================*/

.dropdown-menu {
    background-color: var(--color-black-soft);
    border: 1px solid #333;
}

    .dropdown-menu a {
        color: var(--color-silver);
    }

        .dropdown-menu a:hover {
            background-color: var(--color-gold);
            color: var(--color-black);
        }


/* =====================================================
   BOTONES DEL SISTEMA
=====================================================*/

.btn-primary {
    background-color: var(--color-gold);
    border-color: var(--color-gold);
}

    .btn-primary:hover {
        background-color: var(--color-gold-dark);
        border-color: var(--color-gold-dark);
    }


/* =====================================================
   LINKS DEL SISTEMA
=====================================================*/

a {
    color: var(--color-blue-nifty);
}

    a:hover {
        color: var(--color-gold);
    }


/* =====================================================
   CONTENIDO
=====================================================*/

#content-container {
    background-color: #f6f6f6;
}


/* CARDS */

.panel {
    border-radius: 6px;
    border: 1px solid #e5e5e5;
}


/* =====================================================
   FOOTER
=====================================================*/

#footer {
    background-color: var(--color-black);
    color: var(--color-silver);
}


/* =====================================================
   SCROLLBAR (BONUS VISUAL)
=====================================================*/

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-thumb {
    background: var(--color-gold);
    border-radius: 4px;
}



/**********************************************************************/
/****CSS para eliminar el fondo azul y mejorar el área de contenido****/
/* =========================================
   ELIMINAR FONDO AZUL DE NIFTY
========================================= */

#content-container::before {
    display: none !important;
}


/* =========================================
   CONTENEDOR PRINCIPAL
========================================= */

#content-container {
    background-color: #f5f5f5 !important;
    padding: 25px;
}


/* =========================================
   AREA DE CONTENIDO REAL
========================================= */

#page-content {
    background-color: #ffffff;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}


/* =========================================
   CUANDO SE USA BOXED LAYOUT
========================================= */

.boxed {
    background: #f5f5f5;
}


/* =========================================
   SEPARACION RESPONSIVE
========================================= */

@media (max-width:768px) {

    #page-content {
        padding: 15px;
    }
}
/**********************************************************************/



.tgl-menu-btn i {
    color: var(--color-white);
}

.tgl-menu-btn:hover i {
    color: var(--color-gold);
}

/************ CLIENTES **********************************/

.tabs-client .nav-link.active {
    background-color: #1a1a1a;
    color: #d4af37;
    border-color: #d4af37;
    font-weight: 600;
}

.tabs-client .nav-link {
    color: #444;
    font-weight: 500;
    border-radius: 0;
}

    .tabs-client .nav-link:hover {
        color: #d4af37;
    }

.tabs-client {
    border-bottom: 2px solid #d4af37;
    
}


.card-header {
    border-bottom: 2px solid #d4af37;
}

/******************************************************/


/************ TAB PANE **********************************/

.tabs-client + .tab-content .tab-pane {
    padding-top: 15px;
}

/******************************************************/

/******************************************************/
/************CLIENTES**********************************/
/*.nav-tabs .nav-link.active {
    background-color: #1a1a1a;
    color: #d4af37;
    border-color: #d4af37;
}

.nav-tabs .nav-link {
    color: #444;
    font-weight: 500;
}

.card-header {
    border-bottom: 2px solid #d4af37;
}*/
/******************************************************/
/************TAB PANE**********************************/
/*.tab-pane {
    padding-top: 15px;
}*/
/******************************************************/


/************FORM BUSQUEDA RAPIDA EN LAYOUT************/

.quick-search-bar {
    background: #111;
    border-radius: 20px;
    padding: 3px 6px;
    border: 1px solid #333;
    width: 240px;  /*🔥 REDUCIDO */
    max-width: 100%;  /*seguridad */
}

/*.quick-search-container {
    display: flex;
    flex-direction: column;
    gap: 2px;
    width: 240px;
}*/

/* 🔥 LABEL PRO */
.search-label {
    font-size: 10px;
    color: var(--color-gold);
    margin-left: 6px;
    letter-spacing: 0.5px;
}

/* 🔥 CONTENEDOR PRINCIPAL */
.search-wrapper {
    position: relative;
    width: 100%;
}
.search-form {
    display: flex;
    align-items: center;
    gap: 4px;
}

.search-icon {
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-gold);
    font-size: 11px;
}

/* 🔥 INPUT CONTROLADO */
.search-input {
    width: 100%;
    padding: 5px 45px 5px 24px; /* espacio para icono + botón */
    border-radius: 20px;
    border: 1px solid #333;
    background: #111;
    color: #fff;
    font-size: 12px;
    outline: none;
}

    .search-input::placeholder {
        color: #777;
    }

/* 🔥 BOTÓN SIEMPRE VISIBLE */
.search-btn {
    position: absolute;
    right: 3px;
    top: 50%;
    transform: translateY(-50%);
    background: var(--color-gold);
    border: none;
    border-radius: 15px;
    padding: 2px 8px;
    font-size: 11px;
    color: #111;
    height: 20px;
    line-height: 1;
}

    .search-btn:hover {
        background: var(--color-gold-dark);
    }

.search-input:focus {
    border-color: var(--color-gold);
    box-shadow: 0 0 5px rgba(200,169,106,0.4);
}


    /******************************************************/
.result-item {
    padding: 12px;
    border-bottom: 1px solid #333;
    cursor: pointer;
    transition: 0.2s;
}

    .result-item:hover {
        background: rgba(200,169,106,0.1);
    }

.result-code {
    font-weight: bold;
    color: var(--color-gold);
}

.result-name {
    font-size: 13px;
    color: #ccc;
}

.result-balance {
    color: #ff6b6b;
    font-size: 12px;
}

#resultsModal .modal-content {
    background: #ffffff;
    color: #111;
    border-radius: 10px;
}

#resultsModal .modal-header {
    background: #111;
    color: #C8A96A;
    border-bottom: none;
}


.modal-backdrop {
    background-color: #000 !important;
    opacity: 0.1 !important;
}
/******************************************************/
/************ EXPEDIENTE VISTA DETAIL ************/

/* 🔥 SUB NAVBAR CLIENTE (solo en Details desde Layout) */
.sub-navbar-client {
    position: sticky;
    top: 60px; /* ajusta si tu navbar mide diferente */
    z-index: 1020;
    background: #fff;
    padding: 6px 12px;
    border-bottom: 1px solid #ddd;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

/* 🔥 CONTENIDO EN UNA SOLA FILA */
.client-header-row {
    display: flex;
    align-items: center;
    gap: 15px;
    white-space: nowrap;
    overflow-x: auto;
}

    /* 🔥 SCROLL HORIZONTAL ELEGANTE (solo si no cabe) */
    .client-header-row::-webkit-scrollbar {
        height: 4px;
    }

    .client-header-row::-webkit-scrollbar-thumb {
        background: rgba(0,0,0,0.2);
        border-radius: 10px;
    }

/* 🔥 RESPONSIVE AJUSTE NAVBAR */
@media (max-width: 768px) {
    .sub-navbar-client {
        top: 55px; /* ajusta según tu navbar en móvil */
    }
}


/******************************************************/
/************ PANEL GESTIÓN (MODAL FLOTANTE) **********/
/******************************************************/

.gestion-panel {
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 650px;
    height: 380px;
    min-width: 350px;
    min-height: 380px;
    max-width: 95vw;
    max-height: 90vh;
    background: #fff;
    border-radius: 12px;
    border: 2px solid #25476A;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    display: none;
    z-index: 9999; /*2000;*/
    overflow: hidden;
    resize: both;
}

/* HEADER DRAG */
.gestion-header {
    background: #25476A;
    color: #fff;
    padding: 10px;
    cursor: move;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* BODY CON SCROLL INTERNO */
.gestion-body {
    padding: 15px;
    overflow-y: auto;
    height: calc(100% - 50px);
}

/* 📱 MODO MÓVIL */
@media (max-width: 768px) {

    .gestion-panel {
        width: 100%;
        height: 70vh;
        right: 0;
        bottom: 0;
        border-radius: 15px 15px 0 0;
        resize: none;
    }

    .gestion-header {
        cursor: default;
    }
}

.expediente-section_initial {
    margin-top: 50px; 
    margin-bottom: 10px;
}

.expediente-section {
    margin-bottom: 20px;
}

.espacio-margen-alfinal {
    margin-bottom: 10px;
}
/******************************************************/
/* 🔥 FORM GESTION RESPONSIVE */
/*.gestion-body {
    padding: 10px;
}*/

/* Inputs más cómodos en móvil */
@media (max-width: 576px) {

  /*  .gestion-body {
        padding: 8px;
    }*/

     /*   .gestion-body .form-label {
            font-size: 13px;
            margin-bottom: 3px;
        }*/

       /* .gestion-body .form-select,
        .gestion-body .form-control {
            font-size: 14px;
            padding: 10px 12px;
            border-radius: 10px;
        }
*/
        /* Más separación entre bloques */
      /*  .gestion-body .row {
            gap: 6px;
        }*/

        /* Botón más grande y cómodo */
       /* .gestion-body .btn {
            padding: 12px;
            font-size: 15px;
            border-radius: 12px;
        }*/
}
/******************************************************/
.page-content-adjust {
    margin-top: 20px; /* prueba 20, 30 o 40 */
}
/******************************************************/
.dashboard-container {
    margin-top: 70px; /* 🔥 evita choque con navbar */
    padding: 10px;
}

.panel {
    border-radius: 10px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.08);
}
/******************************************************/
/* 🔥 FORM SELECT PORTFOLIO */
/*.portfolio-card {
    cursor: pointer;
    border-radius: 15px;
    transition: all 0.25s ease;
    border: 1px solid #eee;
}

    .portfolio-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 25px rgba(0,0,0,0.1);
        border-color: #C8A96A;
    }*/
/******************************************************/
/* 🔥  portofolio card */

/* 🔥 CARD */

/*.portfolio-card {
    cursor: pointer;
    border-radius: 15px;
    transition: all 0.25s ease;
    border: 1px solid #eee;
}

    .portfolio-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 12px 25px rgba(0,0,0,0.12);
        border-color: #C8A96A;*/ /* tu color gold */
    /*}*/

/* 🔥 IMAGEN */
/*.portfolio-logo {
    height: 70px;
    object-fit: contain;
}*/

/* 🔥 RESPONSIVE */
/*@media (max-width: 768px) {
    .portfolio-logo {
        height: 60px;
    }
}*/

/* 🔥 Overlay */
#portfolioOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.75);
    backdrop-filter: blur(6px);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 🔥 Modal */
.portfolio-modal {
    background: #fff;
    padding: 30px;
    border-radius: 15px;
    width: 70%;
    max-width: 900px;
}

/* 🔥 Cards */
.portfolio-card {
    cursor: pointer;
    text-align: center;
    padding: 15px;
    border-radius: 12px;
    transition: all 0.25s ease;
    border: 1px solid #eee;
}

    .portfolio-card:hover {
        transform: translateY(-5px);
        border-color: #C8A96A;
        box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    }

    .portfolio-card img {
        height: 60px;
        margin-bottom: 10px;
    }
/******************************************************/
/* MODIFICACION PANEL DROPDOWN CARTERAS EN LAYOUT */
/*.dropdown-menu {
    padding-left: 0;
    padding-right: 0;
}*/

.dropdown-menu {
    min-width: 280px;
    max-width: 320px;
    white-space: normal !important; /* 🔥 CLAVE */
    z-index: 9999 !important;
}

    .dropdown-menu span {
        white-space: normal !important;
    }
.portfolio-switch {
    cursor: pointer;
    transition: all 0.2s ease;
}

    .portfolio-switch:hover {
        opacity: 0.85;
    }

.portfolio-item {
    cursor: pointer;
    transition: all 0.2s ease;
    padding-left: 70px; /*que se muestre bien el logo y el texto de la cartera*/
}

    .portfolio-item:hover {
        background: rgba(200, 169, 106, 0.15);
        transform: scale(1.02);
    }

.portfolio-logo {
    width: 36px;
    height: 36px;
    object-fit: contain;
  /*  margin-right: 10px;*/
    border-radius: 6px;
}

/* 🔥 CRÍTICO PARA MÓVIL */
@media (max-width: 768px) {
    .dropdown-menu {
        position: fixed !important;
        top: 60px; /* ajusta según tu navbar */
        right: 10px;
        left: auto !important;
        width: 90%;
        max-width: 350px;
    }
}
/******************************************************/
/* 🔥 SWEET ALERT TRAER AL FRENTE EN GESTION */
.swal-top {
    z-index: 99999 !important;
}
/******************************************************/
/*no comentarios grandes*/
/*.comment-cell {
    max-width: 300px;
    display: -webkit-box;
    -webkit-line-clamp: 2;*/ /* 🔥 número de líneas */
    /*-webkit-box-orient: vertical;
    overflow: hidden;
}*/
/* 🔥 Comentarios elegantes */
.comment-cell {
    max-width: 320px;
    min-width: 220px;
    padding-left: 10px;
    padding-right: 6px;
    font-size: 12px;
    line-height: 1.4;
    color: #444;
    display: -webkit-box;
    -webkit-line-clamp: 3; /* 👈 3 líneas visibles */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}

/*css para uso en tarjetas kpi dashboard*/
.warning-border {
    border-left: 4px solid #ffc107;
}

.primary-border {
    border-left: 4px solid #0d6efd;
}

/*css ranking badge*/
.ranking-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, #0d6efd, #3b82f6);
    color: white;
    padding: 8px 14px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 4px 10px rgba(13,110,253,.25);
    white-space: nowrap;
    position: relative;
    z-index: 10;
}

    .ranking-badge i {
        font-size: 12px;
    }


.panel-heading {
    position: relative;
    z-index: 5;
    padding-bottom: 15px !important;
    background: #fff;
}

.panel-body {
    position: relative;
    z-index: 1;
    padding-top: 15px !important;
}

.ranking-card {
    position: relative;
    z-index: 1;
    margin-top: 0 !important;
}

/*.ranking-badge {
    position: relative;
    z-index: 10;
}*/