      :root {
          /* Paleta BioTech colores */
          --coltext: #000;
          --bg-primary: #fff;
          --colsub: #73757a;
          --subcard: #a0a2a6;
          --colnot: #888;

          --colprimary: #143b1c;
          --colsecondary: #b2c6b6;
          
          --rellenosecondary: #b2c6b340;
          
          --bacprimary: #fff;
          --bacsecondary: #f2f3f5;
          
          --bg-fblue: #e6f5ff;
          --bg-tblue: #025d99;
          --bg-bblue: #a6dbff;

          --bg-fgray: #f7f8fa;

          
          /*  --qwaccent: #e8d2b4;  /



         --qwbg-light: #f8fafc;
          --qwtext-main: #334155;
          --qwtext-muted: #64748b;
          --qwwhite: #ffffff;
          --qwshadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
          --qwtransition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); */
      }
    

      /* En tu archivo CSS */
#canvas_historico {
    background-color: var(--bg-primary); /* O el color que prefieras para el fondo del gráfico */
    padding: 10px;
}
      /* enlaces */
        #panel-notificaciones a {
          background-color: #fff;
          background-image: none;
          border-color: #133a1b !important;
          color: #133a1b !important;
          border-radius: 10px !important;
        }
        
        .bg-tit-info{
          background: var( --bg-fblue);
          color:var( --bg-tblue);
        }
        
        .goals-alert-info{
          background: var( --bg-fblue);
          color:var( --bg-tblue);
          border-color: var(--bg-bblue) !important;

          border-radius: 12px !important;
        }
        .bg-card-gray{
          background: var( --bg-fgray);
        }

      
        .tox .tox-promotion-link{
           display: none !important;
        }
        .bl{
          color:var( --bg-tblue)!important;
        }
        /* TEXTOS */
          .titcard{
            letter-spacing: .85px !important;
            font-weight: 600 !important;
            padding-bottom: 0 !important;
            margin-bottom: 0 !important;
            color: #000;
            text-transform: capitalize;
            font-family: "Roboto-regular", sans-serif;
          }
          .tit{            
            font-size: 20px !important;
            letter-spacing: 0.5px !important;
            font-weight: 600 !important; 
            text-align: center;           
          }
          .text-table{
            color: var(--colsub)!important;
            text-align: center !important;
          }
          .lab-sub {
            font-size: 12px;
            color: var( --coltext);
            font-weight: 400 !important;
            letter-spacing: .2px !important;
            line-height: 1rem;
        
          }
        /* TEXTOS */

        .nav-border-top .nav-item .nav-link.active::before {
          top: -10px !important;
        }
        .card-footer {
          border-top: none !important;
        }      
        .circular-chart {
          display: block;
          margin: 10px auto;
          max-width: 100%;
          max-height: 250px;
        }
        .circle-bg {
          fill: none;
          stroke: #eee;
          stroke-width: 3.8;
        }
        .circle {
          fill: none;
          stroke-width: 2.8;
          stroke-linecap: round;
          transition: stroke-dasharray 1.5s ease-in-out;
        }
        .circular-chart.green .circle {
          stroke: #143b1c; /* El color morado de la imagen */
        }
        #animated-number {
          font-size: 2rem;
          color: #333;
        }
        /* --- Estilos para Checkboxes con Borde Izquierdo --- */
        .custom-checkbox-left {
          position: relative;
          width: 20px; 
          height: 100%; 
          display: flex;
          align-items: center;
          justify-content: center;
        }
        .custom-checkbox-left .custom-control-input {
          display: none;
        }
        .custom-checkbox-left .custom-control-label:before {
          content: '';
          position: absolute;
          left: 2px;
          top: 50%;
          transform: translateY(-50%);
          width: 18px;
          height: 18px;
          background: #fff;
          border: 2px solid #adb5bd;
          border-radius: 4px;
          transition: all 0.2s ease;
        }
        .custom-checkbox-left .custom-control-label:after {
          content: '\F012C'; /* Código MDI para el check */
          font-family: "Material Design Icons";
          position: absolute;
          left: 4px;
          top: 50%;
          transform: translateY(-50%);
          font-size: 14px;
          color: #fff;
          display: none; /* Oculto hasta que esté :checked */
        }        
        .custom-checkbox-left .custom-control-input:checked ~ .custom-control-label:before {
          background-color: #00bcd4; /* Azul/Verde BioTech */
          border-color: #00bcd4;
        }
        .custom-checkbox-left .custom-control-input:checked ~ .custom-control-label:after {
          display: block; /* Muestra el check */
        }
        .filter-item-card.disabled-style {
          cursor: default;
          background-color: #f8f9fa !important; /* Fondo gris tenue de la tarjeta disabled */
          border-color: #dee2e6 !important; /* Borde gris tenue de la tarjeta disabled */
          opacity: 1 !important; /* Mantener opacidad completa */
        }
        .disabled-style .custom-checkbox-left .custom-control-input:disabled ~ .custom-control-label:before {
          background-color: #e2e6ea !important; /* Gris de disabled */
          border-color: #adb5bd !important; /* Gris de border tenue */
        }
        .disabled-style .custom-checkbox-left .custom-control-input:disabled:checked ~ .custom-control-label:before {
          background-color: #e2e6ea !important; /* Mantenemos el fondo gris del checkbox */
          border-color: #adb5bd !important;
        }
        .disabled-style .custom-checkbox-left .custom-control-input:disabled:checked ~ .custom-control-label:after {
          color: #fff !important; /* Check blanco tenue */
          display: block;
        }
        .shadow-xs {
            box-shadow: 0 2px 4px rgba(0,0,0,.04);
        }
        .card-disabled-shadow {
          position: relative;
          border-radius: 6px !important; /* Bordes un poco más cerrados */
          background-color: #fff !important;
          box-shadow: 0 1px 3px rgba(0,0,0,0.05);
          border: 1px solid #e0e0e0 !important;
          border-left: none !important;
          overflow: hidden;
          transition: all 0.2s;
        }
        .card-disabled-shadow::before {
          content: "";
          position: absolute;
          left: 0;
          top: 0;
          bottom: 0;
          width: 5px; /* De 6px a 5px para mayor finura */
          background-color: #bdbdbd;
          box-shadow: inset -1px 0 2px rgba(0,0,0,0.1);
        }
        .card-disabled-shadow .custom-control-label::before, 
        .card-disabled-shadow .custom-control-label::after {
            top: 0.1rem !important; /* Ajuste manual para subir el recuadro del check */
        }
        .tx-12 { font-size: 12px !important; }
        .tx-10 { font-size: 10px !important; }
        .custom-control-input:disabled:checked ~ .custom-control-label::before {
          background-color: #bdbdbd !important; /* Gris del check en image_5e84e4 */
          border-color: #bdbdbd !important;
        }
        .card-disabled-shadow h6 {
          color: #757575 !important;
          line-height: 1.2;
        }
 
        /* BREADCRUM */
          .breadcrumb {
            list-style: none;
            background-color: transparent; 
            border: none; 
            padding: 0 !important;
          }
          .breadcrumb-item {
            color: #8a909d !important;
            font-size: .85rem !important;
            font-weight: 500;
            letter-spacing: .2px; 
          }
          .breadcrumb-item + .breadcrumb-item::before {
            display: inline-block;
            padding-right: 0.5rem !important;
            padding-left: 0rem !important;
            color: #00080f;
            font-size:1rem;
            font-weight: 600;
            content: "/"; 
          }
          .breadcrumb-item.active {
            color: #000 !important;
            font-weight: 500;
          } 
          .breadcrumb-item a {
            color: #000; 
            text-decoration: none;
          }
          .breadcrumb-item a:hover {
            color: #198754;
            text-decoration: none;
          }
        /* BREADCRUM  */

        /* MENU */
          .nav-tabs-vertical {
            border: none;
            max-width: 200px !important;
          }
          .nav-tabs-vertical .nav-item {
            margin-bottom: 10px;
          }
          .nav-tabs-vertical .nav-link {
            border: none;
            border-radius: 8px !important;
            color: #8c8fa3;
            font-weight: 500;
            padding: 8px !important;
            transition: all 0.2s ease;
            background-color: transparent;
            height: 40px !important;
          }
          .nav-tabs-vertical .nav-link:hover {
            background-color: #f3f4f8;
            color: #5a5d72;
          }
          .nav-tabs-vertical .nav-link.active {
            background-color: #b2c6b6;
            color: #143b1c;
            font-weight: 600;
          }
          .nav-tabs-vertical .nav-item.disabled .nav-link {
            color: #b7b9c9;
            pointer-events: none;
            background-color: transparent;
          }
          .nav-tabs-vertical .nav-link span {
            margin-left: 4px;
          }
        /* MENU */

        /* SELECT */
          .custom-select-ui {
            background-color: #fff !important;
            background-image: url("data:image/svg+xml;utf8,<svg fill='%23143b1c' height='20' viewBox='0 0 20 20' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M5.5 7l4.5 4 4.5-4'/></svg>");
            background-repeat: no-repeat !important;
            background-position: right 12px center !important;
            background-size: 12px !important;
            appearance: none !important;
            -webkit-appearance: none !important;
            -moz-appearance: none !important;
            line-height: normal !important;
            font-size: 12px !important;
          } 
          .select2-container--default .select2-selection--single {
            height: 40px !important;
            border-radius: 10px !important;
            border: 1px solid #e0e3eb !important;
            padding: 0 36px 0 14px !important;
            display: flex;
            align-items: center;
          }
          .select2-container--default {
            border-bottom: none!important; 
          }
          .select2-container--default .select2-selection__rendered {
            line-height: normal !important;
            padding-left: 0 !important;
          }
          .select2-container--default .select2-selection__arrow {
            height: 100% !important;
            right: 12px !important;
          }
          .select2-container--default.select2-container--focus .select2-selection--single {
            box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.15) !important;
          }
          .select2-dropdown {
            border-radius: 10px !important;
            border: none !important;
            padding: 6px;
          }
          .custom-select-small {
            height: 40px !important;
            min-height: 40px !important;
            border-radius: 10px !important; 
            border: 1px solid #d1d5db !important;
            padding: 0 36px 0 14px !important;
            font-size: 12px !important;
            background-color: #fff !important;
            appearance: none !important;
            background-image: url("data:image/svg+xml;utf8,<svg fill='%23143b1c' height='20' viewBox='0 0 20 20' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M5.5 7l4.5 4 4.5-4'/></svg>");
            background-repeat: no-repeat;
            background-position: right 10px center;
          }
          #selseg {
            max-width: 220px;
          }
          #selcol {
            max-width: 120px !important;
          }
          .select2-container--default .select2-results__option--highlighted[aria-selected] {
            background: #143b1c !important;
          }
        /* SELECT */

        /* PANEL */
          #panelpro     .card, 
          #paneldetalle .card {
            background: transparent;
            border: none /* !important */;
            box-shadow: none !important;
          }
          #panelpro .card-body {
            background: transparent;
            padding: 0 !important; 
          }
          #panelpro .tab-content {
            background: transparent !important;
            border: none /* !important */;
            padding: 0 !important;
          }
          #panelpro .tab-pane {
            background: transparent !important;
            border: none /* !important */;
          }
        /* PANEL */

        /* ACORDEON */
          .custom-accordion {
            display: flex;
            flex-direction: column;
            gap: 12px;
            max-width :700px!important;
          }
          .acc-item {
            background: #fff;
            border-radius: 14px;
            overflow: hidden;
            transition: all .2s ease;
          }  
          .acc-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 16px 18px;
            user-select: none;   /* evita selección de texto */
            cursor: pointer;
          }
          .acc-left {
            display: flex;
            align-items: center;
            gap: 12px;
          }
          .acc-number {
            width: 34px;
            height: 34px;
            border-radius: 50%;
            background: #e5e7eb;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            color: #6b7280;
          }
          .acc-title {
            font-size: 14px !important;
            font-weight: 600;
            color: #000;
          }
          .acc-sub {
            font-size: 13px;
            color: var(--colsub);
            font-weight: 600 !important;
            letter-spacing: .2px !important;
          }
          .acc-sub-null {
            font-size: 14px;
            color: var(--colsub);
            font-weight: 500 !important;
            letter-spacing: .4px !important;
            overflow-wrap: break-word;
            max-width: 375px !important; /* Ajusta según tu diseño */
            line-height: 1.2rem; 
          }
          .acc-sub-list {
            font-size: 14px;
            color: var( --coltext);
            font-weight: 400 !important;
            letter-spacing: .4px !important;
            overflow-wrap: break-word;
            max-width: 414px !important;
            line-height: 1.2rem;
            margin-top: .5rem;
            text-align: left !important; 
            text-justify: none !important; 
          }
          .acc-not {
            font-size: 12px;
            color: var(--colsub);
            font-weight: 500 !important;
            display: block; /* Obliga a que el elemento sea un bloque */
            padding-left: 25px; 
            white-space: normal !important;
            word-break: break-word !important;
            overflow-wrap: break-word;
            max-width: 440px !important; /* Ajusta según tu diseño */
            line-height: 1rem; 
          }
          .acc-not-multi {
            font-size: 12px;
            color: var(--colsub);
            font-weight: 500 !important;
            display: block; /* Obliga a que el elemento sea un bloque */
            white-space: normal !important;
            word-break: break-word !important;
            overflow-wrap: break-word;
            max-width:  250px !important; /* Ajusta según tu diseño */
            line-height: 1rem; 
          }
          .car-tit{
            font-size: 14px !important;
            font-weight: 500;
            color: var(--coltext);
            letter-spacing: .5px;
          }
          .car-tit-sec{
            font-size: 14px !important;
            font-weight: 500;
            color: var(--colnot);
            letter-spacing: .5px;
          }
          .ico-gray{
            color: var(--subcard);
          }
          .car-txt{
            font-size: 12px;
            color: var(--coltext);
            font-weight: 500 !important;
            display: block;
            white-space: normal !important;
            word-break: break-word !important;
            overflow-wrap: break-word;
            line-height: 1rem;
          }
          .car-not{
            font-size: 12px;
            color: var(--colsub);
            font-weight: 500 !important;
            display: block;
            padding-left: 25px;
            white-space: normal !important;
            word-break: break-word !important;
            overflow-wrap: break-word;
            line-height: 1rem;
          }
          .acc-icon i {
            display: inline-block; /* CLAVE */
            font-size: 20px;
            color: #143b1c;
            transition: transform .25s ease, color .2s ease;
          } 
          .acc-body {
            display: none;
            padding: 15px 0 40px 60px;
            margin-left: 20px;

          }
          .acc-item.active .acc-body {
            display: block;
          }
          .acc-item.active .acc-icon i {
            transform: rotate(180deg) !important;
          }
          .custom-input {
            border-radius: 10px !important;
            border: 1px solid #d1d5db !important;
            height: 40px;
            padding: 0 12px;
            font-size: 12px;
            /*  border-bottom: none!important;  */
          }
          .custom-input {
            background-image: none !important;
          }
          .custom-input::placeholder {
            color: #a0a0a0;
            opacity: 1; /* Importante para Firefox */
            font-size: 12px;
          }
          .custom-input:focus {
            outline: none;
            border-color: #133a1b;
            box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.15);
          }
          .form-group-accordion label {
            position: relative;
            padding-left: 25px;
            font-size: 14px !important;
            color: #000 !important;
          }
          .form-group-accordion label::before {
            content: "▶";
            position: absolute;
            left: 0;
            top: 3px;
            font-size: 10px !important;
            color: #143b1c; /* verde */
            padding-right: 5px!important;
          }
          .acc-item.completed .acc-number {
            background: #b2c6b6;
            color: #143b1c;
            border: 1px solid #143b1c;    /* ← AQUÍ el borde */
          }
          .acc-item.completed .acc-title {
            color: #143b1c;
          }
        /* ACORDEON */

        /* CALENDARIO */
          .input-calendar {
            padding-right: 40px !important;
            background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path fill='%239ca3af' d='M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z'/></svg>") !important;
            background-repeat: no-repeat !important;
            background-position: right 25px center !important;
            background-size: 25px !important;
            max-width: 300px !important;
          }
          .input-error {
            color: #ef4444;
            font-size: 12px;
            margin-top: 4px;
            display: block;
            margin-left: 25px !important;
          }
        /* CALENDARIO */
        
        /* TITULOS */
          .badge-count{
            background: #e8eaf0;
            color: #45474e;
          }
          .badge-count-primary{
            background: #143b1c;
            color: #ffffff;
          }
          /* Contenedor de la etiqueta para asegurar alineación */
          .goals-badge {
            background-color: #f0f2ff !important;
            color: #9698af;
            display: inline-flex;
            align-items: center; /* Centra verticalmente el punto y el texto */
            font-size: 0.75rem;
            font-weight: 600;
          }
          .goals-badge-primary{
            background-color: var(--rellenosecondary); 
            color: var(--colprimary); 
            font-size: 0.75rem; 
            font-weight: 600; 
            letter-spacing: .6px;
            transform: translateY(-2px);
          }
          /* El punto circular */
          .dot {
            height: 10px;
            width: 10px;
            background-color: #9698af; /* El mismo color del texto */
            border-radius: 50%; /* Lo hace circular */
            display: inline-block;
            margin-right: 6px; /* Espacio entre el punto y el texto */
          }
          .dot.active {
            background-color: #143b1c; /* El mismo color del texto */
          }

          .switch-goals > .switch-input:checked ~ .switch-label {
            background-color: #143b1c !important;
            border-color: #143b1c;
          }
          .switch-goals > .switch-input:checked ~ .switch-handle {
            border-color: transparent;
          }
          .cursor-pointer {
            cursor: pointer !important;
          }
        /* TITULOS */

        /* BOTONES */      
          .btn{
            text-transform: none !important;
          }
          .btn-goals{
            min-width: 100px;
            height: 30px !important;
            padding: 2px !important;
            border-radius: 10px !important;
          }

          .btn-inverse-goals-danger {
            background-color: #eb8c8c;
            background-image: none;
            border-color: rgb(210, 169, 169);
            border-radius: 10px !important;
          }
          .btn-inverse-goals-danger:not(.btn-inverse-light) {
            color: #fff; 
          }
          .btn-inverse-goals-danger:hover {
            color: #ffffff;
            background-color: #d2a9a9;
            border-color: #d2a9a9; 
          }
          .btn-inverse-goals-danger.focus, .btn-inverse-goals-danger:focus {
            box-shadow: 0 0 0 3px rgba(210, 169, 169, 0.5); 
          }
          .btn-inverse-goals-danger.disabled, .btn-inverse-goals-danger:disabled {
            color: #bfc0c3;
            border-color: #bfc0c3 !important;
            background-color: transparent; 
          }
          .btn-inverse-goals-danger.active, .btn-inverse-goals-danger:active,
          .show > .btn-inverse-goals-danger.dropdown-toggle {
            color: #ffffff;
            background-color: #d2a9a9;
            border-color: #d2a9a9;
          }

          .btn-outline-goals-success {
            background-color: #fff;
            background-image: none;
            border-color: #133a1b !important;
            color: #133a1b !important;
            border-radius: 10px !important;
          }
          .btn-outline-goals-success:not(.btn-inverse-light) {
            color: #fff; 
          }
          .btn-outline-goals-success:hover {
            color: #fff !important;
            background-color: #133a1b;
            border-color: #133a1b; 
          }
          .btn-outline-goals-success.focus, .btn-outline-goals-success:focus {
            box-shadow: 0 0 0 3px rgba(0, 182, 122, 0.5); 
          }
          .btn-outline-goals-success.active, .btn-outline-goals-success:active,
          .show > .btn-inverse-goals-success.dropdown-toggle {
            color: #fff;
            background-color: #133a1b;
            border-color: #133a1b;
          }
          .btn-outline-goals-danger {
            background-color: #fff;
            background-image: none;
            border-color: #eb8c8c;
            color: #eb8c8c !important;
            border-radius: 10px !important;
          }
          .btn-outline-goals-danger:not(.btn-inverse-light) {
            color: #fff;
          }
          .btn-outline-goals-danger:hover {
            color: #fff !important;
            background-color: #eb8c8c;
            border-color: #eb8c8c; 
          }
          .btn-outline-goals-danger.focus, .btn-outline-goals-danger:focus {
            box-shadow: 0 0 0 3px rgba(210, 169, 169, 0.5); 
          }
          .btn-outline-goals-danger.active, .btn-outline-goals-danger:active,
          .show > .btn-inverse-goals-danger.dropdown-toggle {
            color: #fff;
            background-color: #eb8c8c;
            border-color: #eb8c8c;
          }

          .btn-inverse-goals-success {
            background-color: #133a1b;
            background-image: none;
            border-color: rgb(178, 198, 182);
            border-radius: 10px !important;
          }
          .btn-inverse-goals-success:not(.btn-inverse-light) {
            color: #fff; 
          }
          .btn-inverse-goals-success:hover {
            color: #ffffff;
            background-color: #b2c6b6;
            border-color: #b2c6b6; 
          }
          .btn-inverse-goals-success.focus, .btn-inverse-goals-success:focus {
            box-shadow: 0 0 0 3px rgba(0, 182, 122, 0.5); 
          }
          .btn-inverse-goals-success.disabled, .btn-inverse-goals-success:disabled {
            color: #bbbcbf !important;
            border-color: #bbbcbf !important;
            background-color: transparent; 
          }
          .btn-inverse-goals-success.active, .btn-inverse-goals-success:active,
          .show > .btn-inverse-goals-success.dropdown-toggle {
            color: #ffffff;
            background-color: #b2c6b6;
            border-color: #b2c6b6;
          }
        /* BOTONES */

        /* MODAL */
          .modal-goals .modal-dialog {
            max-width: 700px;
          }
          .modal-goals .modal-content {
            width: 700px;
            min-height: 400px;
            border-radius: 16px;
            border: none;
            background: #fff;
            overflow: hidden;
          }
          .modal-goals .modal-header {
            border-bottom: none;
            padding: 16px 20px 0 20px;
            position: relative;
          }
          .modal-goals .close:hover {
            color: #143b1c;
          }
          .modal-goals .modal-body {
            padding: 20px;
          }
          .modal-goals .modal-footer {
            border-top: none;
            padding: 10px 20px 20px;
            display: flex;
            justify-content: flex-end;
            gap: 10px;
            background: var(--bacsecondary) !important;
          }
          .modal-goals .custom-input {
            border-radius: 10px;
            border: 1px solid #d1d5db;
            height: 40px;
            padding: 0 12px;
            font-size: 12px;
            color: #000;
            width: 100%;
          }
          .modal-goals .custom-input::placeholder {
            color: #a0a0a0;
            opacity: 1; /* Importante para Firefox */
            font-size: 12px;
          }
          .modal-goals textarea.custom-input {
            height: auto;
            min-height: 80px;
            max-height: 80px;
            resize: none;
            padding: 12px 16px;
          }
          .modal-goals .custom-input:focus {
            outline: none;
            border-color: #133a1b;
            box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.15);
          }
          .modal-goals label {
            font-size: 14px;
            font-weight: 600;
            margin-bottom: 6px;
            display: block;
            color: #000;
          }
          .btn-close-goals {
            position: absolute;
            top: 16px;
            right: 17px;

            background: transparent;
            border: none;
            padding: 0;

            cursor: pointer;
            color: #6b7280;
            font-size: 1.3em !important;

            display: flex;
            align-items: center;
            justify-content: center;
          }
          .btn-close-goals:hover {
            color: #143b1c;
          }
          .tit-modal{
            text-align: center;
            font-size: 16px !important;
            font-weight: 600;
            letter-spacing: .2px; 
            padding: 20px 20px 13px 20px;
          }  
          .modal-header-custom{
            border-bottom: 4px solid var(--bacsecondary);; /* Color gris suave */
            padding-bottom: 15px;
          }    
        /* MODAL */
              
        /* CARD METAS */
          .goal-card {
            background: transparent;
          }
          .goal-card-header {
            padding: 14px 18px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            background: #fff !important;
            border-radius: 14px;
            box-shadow: 0 8px 20px rgba(0,0,0,0.05);
          }
          .goal-toggle {
            display: inline-block; /* CLAVE */
            font-size: 20px;
            color: #143b1c;
            transition: transform .25s ease, color .2s ease;
          }
          .goal-card.active .goal-toggle {
            transform: rotate(180deg);
          }
          .goal-card-body {
            padding: 12px 20px 18px;
            margin-left: 20px !important;
            display: none;
            font-size: 14px;
            color: #000;
            font-weight: 400 !important;
            letter-spacing: .4px !important;
            overflow-wrap: break-word;
            max-width: 650px !important;
            line-height: 1.2rem;
            margin-top: .5rem;
            text-align: left !important; 
            text-justify: none !important; 
          }
          .goal-card.active .goal-card-body {
              display: block;
          }
          .goal-actions {
            position: relative;
            cursor: pointer;
          }
          .goal-dropdown {
              position: absolute;
              right: 0;
              top: 30px;
              background: #fff;
              border-radius: 10px;
              box-shadow: 0 10px 25px rgba(0,0,0,0.1);
              padding: 6px 0;
              display: none;
              min-width: 100px;
              z-index: 10;
          }

          .goal-dropdown .dropdown-item {
              padding: 8px 12px;
              font-size: 13px;
              cursor: pointer;
              color: #7d7f83 !important;
              font-weight: 500;
              
          }

          .goal-dropdown .dropdown-item:hover {
              background: #f3f4f6;
          }
          .goal-actions.active .goal-dropdown {
              display: block;
          } 
        /* CARD METAS */

        /* CARD METAS */
        
        /* CARD TAB */
          .goals-card {
            background: #ffffff !important;
              border-radius: 10px;
              box-shadow: 0 10px 25px rgba(0,0,0,0.1);
            overflow: hidden;
          }
          .goals-card-men {
            background: #ffffff !important;
              border-radius: 10px; 
              border: 1px solid  #e3e4e5 !important;
              box-shadow: 0 10px 25px rgba(0,0,0,0.1);
            overflow: hidden;
          }
        /* CARD TAB */
        
        /* CHECK SEGUIMIENTOS */
          .seg-option {
            display: flex;
            align-items: center;
            gap: 5px;
            padding: 5px 20px 5px 18px;
            margin-right: 10px !important;
            border-radius: 10px;
            border: 2px solid #fff;
            background: #fff;
            margin-bottom: 0px !important;
            cursor: pointer;
            transition: all .2s ease;
          } 
          .seg-option input {
            appearance: none;
            -webkit-appearance: none;
            width: 16px;
            height: 16px;
            border: 2px solid #bbbcbf;
            border-radius: 4px;
            background: #fff;
            position: relative;
            transition: all .2s ease;
          }
          .seg-option.active input {
            background: #fff;
            border-color: #bbbcbf;
          }
          /* estado cuando config está activo */
          #seg-opciones.seg-activo .seg-option.active input {
            background: #133a1b;
            border-color: #133a1b;
          }
          /* SOLO cuando está activo y en modo config */
          #seg-opciones.seg-activo .seg-option.active input::after {
            content: "";
            position: absolute;
            width: 5px;
            height: 9px;
            border: solid #ffffff;
            border-width: 0 2px 2px 0;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -60%) rotate(45deg);
          }
          .seg-option input:checked {
            background-color: #fff; 
          }
          .seg-option.disabled {
            cursor: default !important; /* o not-allowed si quieres más visual */
          }
          .seg-text {
            font-weight: 500;
            color: var(--colsub);
            font-size: 16px;
            padding: 8px 0px 8px 8px;
          }
          .seg-option.active {
            border: 2px solid #133a1b !important;
            background: #fff !important;
          }
          .seg-option.active .seg-text {
            color: #133a1b !important;
            font-weight: 600;
          }
          .seg-option:hover:not(.disabled)  {
            border-color: #f7f8fa !important;
            background: #f7f8fa !important;
          }
          .seg-option.active:hover {
            border: 2px solid #133a1b !important;
            background: #fff !important;
          }
        /* CHECK SEGUIMIENTOS */

        .search-container {
          position: relative;
          display: inline-block !important; 
        }

        .search-icon {
          position: absolute;
          left: 10px;        
          top: 50%;
          transform: translateY(-50%);
          color: #ccc;       
          pointer-events: none; 
        }

        .custom-input-icon {
          padding-left: 35px !important; 
        }

        .search-container-full {
            position: relative;
            display: block;      
            width: 100%;         
        }


        .search-icon-right {
            position: absolute;
            right: 30px;        
            top: 50%;
            transform: translateY(-50%);
            pointer-events: none;
        }

        /* Padding del input en el lado derecho */
        .custom-input-icon-right {
            padding-right: 35px !important; /* Espacio para el icono a la derecha */
            padding-left: 12px !important;  /* Padding normal a la izquierda */
        }

        /* 1. La tabla debe tener layout fijo para respetar los anchos */
        #tableparticipantes {
          table-layout: fixed;
          width: 100%;
          border-collapse: separate; /* Fundamental para evitar desniveles */
          border-spacing: 0;
        }

        /* 2. Estilos de la cabecera */
        #tableparticipantes thead tr th {
          padding: 14px 10px;
          color: #000;
          font-size: 13px; /* Un poco más pequeño para estilo Crehana */
          font-weight: 600;
          letter-spacing: .3px !important;
          background: #f7f8fa !important;
         border-bottom: 1px solid #f7f8fa !important; /* Línea sutil inferior */
          vertical-align: middle;
        }

        /* 3. Evitar que el texto se amontone si es muy largo */
        #tableparticipantes td {
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
          padding: 12px 10px;
          vertical-align: middle;
        }

        /* 4. Asignación de anchos fijos (basado en tu imagen) */
        .col-chk { width: 45px; }
        .col-nombre { width: 250px; }
        .col-correo { width: 220px; }
        .col-cargo { width: 180px; }
        .col-depto { width: 180px; }
        .col-level { width: 100px; }
        .col-doc { width: 120px; }
       
        .filtro-toggle{
          font-weight: 400 !important;
          font-size: 1em !important;
          cursor: pointer;
          user-select: none;
          outline: none;
        }

        .filtro-toggle:focus {
          outline: none;
        }

        .filtro-toggle i {
          pointer-events: none; /* evita focus raro en el icono */
        }

        .filtro-panel {
          position: fixed;
          width: 230px;
          background: #fff;
          border-radius: 10px; /* Bordes suavizados estilo Crehana */
          padding: 12px;
          z-index: 1060;
          border: 1px solid #edf2f7;
        }
        /* Buscador interno */
        .filtro-panel .input-search-filter {
          height: 32px;
          font-size: 12px;
          border-radius: 6px;
          background-color: #fff;
          padding-left: 32px;
          margin-bottom: 8px;
          padding-bottom: 10px;
        }
        .input-search-filter::placeholder {
          color: #a0a0a0;
          opacity: 1; /* Importante para Firefox */
          font-size: 12px;
        }
        /* Contenedor de checks con scroll elegante */
        #filtro-opciones {
            max-height: 180px;
            margin-top: 5px;
            overflow-y: auto;
            padding-right: 4px;
        }

        /* Scrollbar personalizado (opcional, para verse pro) */
        #filtro-opciones::-webkit-scrollbar {
            width: 4px;
        }
        #filtro-opciones::-webkit-scrollbar-thumb {
            background: #e2e8f0;
            border-radius: 10px;
        }

        /* Estilo de cada opción */
        .filtro-item {
          cursor: pointer;
          padding: 10px 10px 7px 15px;
          border-radius: 4px;
          transition: background 0.2s;
          font-size: 13px;
          color: #4a5568;
        }

        .filtro-item:hover {
          background-color: #f5f6f8;
          color: #143b1c; /* Verde Biotech */
        }
        .filtro-check {
          width: 15px;
          height: 15px;
          cursor: pointer;
          accent-color: #143b1c; /* Checkbox verde */
          margin-right: 10px;
        }
        /* Botón Borrar */
        .limpiar-filtro {
          cursor: pointer;
          font-weight: 600;
          color: #a0aec0 !important;
          text-align: center;
          padding-top: 8px;
          border-top: 1px solid #f1f5f9;
          margin-top: 8px;
          font-size: 12px;
          padding-bottom: 8px;
          text-align: left;
        }

        .limpiar-filtro:hover {
            color: #143b1c !important;
        }
        .col-chk{
          accent-color: #143b1c; 
        }.chk-participante{
          accent-color: #143b1c; 
        }

         .asignacion-card {
          border: 1px solid #e5e7eb;
          border-radius: 12px;
          padding-right: 40px;
          padding-left: 40px;
          min-width: 318px;
          height: 325px;
          cursor: pointer;
          transition: all 0.2s;
          background: transparent;
          border: 1px solid #143b1c; 
        }  
        .asignacion-card:hover {
          background: var(--rellenosecondary);
        }
        .asignacion-card.active {
          background: var(--rellenosecondary);
        }
        .asignacion-card h4 {
          font-weight: 700 !important;
          color: #153e1c !important;
          margin-bottom: 8px;
          font-size: 16px !important;
        }
        .asignacion-card p {
          color: #000 !important;
          font-size: 14px !important;
          line-height: 1.5;
          margin: 0;
          text-align: left;
          letter-spacing: .3px !important;
           font-weight: 500 !important;

        }



    /* Estilos para los números de paso superiores */
    .step-badge-mini {
        position: absolute;
        top: 0px;
        left: -30px;
        background: #9da0bb;
        color: #fff;
        border-radius: 50%;
        width: 24px;
        height: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        font-weight: 700;
    }


    .step-indicator {
        width: 32px; height: 32px; border-radius: 50%; background: #f1f5f9; color: #94a3b8;
        display: flex; align-items: center; justify-content: center; font-weight: bold; margin-right: 8px; border: 1px solid #e2e8f0;
    }
    .step-indicator.active {
        background: #f0fdf4; color: #143b1c; border-color: #143b1c;
    }
    .step-label { color: #94a3b8; font-size: 14px; font-weight: 500; }
    .step-label.active { color: #111827; font-weight: 700; }

    /* --- Estilos específicos para la Carga Masiva (Biotech/Crehana) --- */

.goals-upload-card {
    border-radius: 12px !important;
    border: 1px solid #e5e7eb !important;
    overflow: hidden;
}

/* Área punteada Crehana */
.dropzone-area-crehana {
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed #cbd5e0;
    border-radius: 12px;
    margin: 20px; /* Margen interno dentro de la card body p-0 */
    background: #f9fafb;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

/* Estado hover al arrastrar */
.dropzone-area-crehana.dz-drag-hover {
    background-color: #eff1fe !important;
    border-color: #143b1c !important;
}

/* El estado 'cargado' no debe tener cursor pointer */
#dropzone-state-loaded {
    cursor: default;
}

/* Asegurar que el texto dentro sea negro estilo Crehana */
.goals-upload-card .text-dark,
.goals-upload-card b.text-dark {
    color: #111827 !important;
}

/* Botón Elegir otro archivo */
.btn-elegir-otro:hover {
    color: #061a09 !important; /* Indigo más oscuro Crehana */
}

/* Ancho fijo para el texto del rango */
.range-label {
  display: inline-block;
  width: 130px; /* Ajusta este valor según necesites */
  text-align: left;
}

/* Estilo reutilizable para el círculo de color */
.color-indicator {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  flex-shrink: 0; /* Evita que el círculo se deforme si el texto es largo */
}

.tab-msg-col {
    cursor: pointer;
    font-weight: 500;
    color: var(--colsub) !important;
    padding-bottom: 5px;
    border-bottom: 2px solid transparent; /* Evita que el texto salte al activarse */
    transition: all 0.2s ease;
}

.tab-msg-col.active {
    color: var(--colprimary) !important;
    border-bottom: 2px solid var(--colprimary);
    font-weight: bold;
}

.tab-msg-col:hover {
    color: var(--colprimary) !important;
}



  .tab-msg {
    cursor: pointer;
    font-weight: 500;
    color: var(--colsub);
    padding-bottom: 5px;
  }

.tab-msg.active {
  color: var(--colprimary);
  border-bottom: 2px solid var(--colprimary);
}

.msg-item {
  background: #f2f3f5;
  border-radius: 10px;
  padding: 12px;
  margin-bottom: 16px;
  cursor: pointer;
  transition: all .2s ease;
}

  .msg-item.active {
    border: 2px solid var(--colprimary);
    background: var(--rellenosecondary);
  }

  .tit-card  {
    font-weight: 600 !important;
    color: var(--coltext);
    margin-bottom: 8px;
  }
  
  .msg-item.active .tit-card {
    color:var(--colprimary);
  }


.msg-sub {
  font-size: 12px;
  color: var(--colsub);
  font-weight: 500;
  text-align: left;
  line-height: 1.5 !important;
}

/* Estilo para el contenedor blanco inferior */
.msg-footer {
  background: #fff;
  border-radius: 6px;
  padding: 8px 14px;
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  color: var(--colnot);
  font-weight: 500;
  text-align: left;
  line-height: 1.5 !important;
}


/* Estilo para el icono */
.msg-footer i {
  color: var(--colsub); /* Color morado del icono */
  font-size: 14px;
}

.msg-item.active .msg-footer i {
  color: var(--colprimary);
}
.msg-footer-send,
.msg-footer-send i{
  color: var(--colprimary) !important;
}



/* Estilo base para los botones (Estado Normal) */
.btn-action {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: 1px solid var(--colsub); 
  border-radius: 14px;       
  color: var(--colsub);      
  transition: all 0.2s ease;
  padding: 0;
}

/* Estado ACTIVE (El que tiene el ojo en la imagen) */
.btn-action.active {
  background-color: #fff; 
  border-color: var(--colprimary);     
  color: var(--colprimary) !important;          
}
/* Estado ACTIVE (El que tiene el ojo en la imagen) */
.btn-action.active:hover {
  background-color: var(--bacsecondary);
  border-color:      var(--colsub); 

}

/* Hover: El botón se activa visualmente al pasar el mouse */
 .btn-action:hover {
  background-color: var(--bacsecondary);
  border-color:   var(--colsub); 
} 

/* Ajuste del tamaño del icono */
.btn-action i {
  font-size: 1.3rem;
}


/*#body-template-correo table {
  margin: 0 auto;
}*/

#body-template-correo {
  overflow-x: auto;
}

#body-template-correo {
  font-family: 'Poppins', Arial, sans-serif;
  font-size: 15px;
  color: #0f1019;
  line-height: 1.6;
}

/* Párrafos */
#body-template-correo p {
  margin: 12px 0;
  font-size: 15px;
  line-height: 1.6;
}

/* Título */
#body-template-correo h1 {
  margin-bottom: 15px;
  font-size: 20px;
  line-height: 1.4;
}

/* TD como contenedor (clave en emails) */
/* #body-template-correo td {
  padding-top: 10px !important;
} */

/* Ajuste del contenedor interno */
#body-template-correo table {
  margin: 0 auto;
}

/* Opcional: mejora visual general */
#body-template-correo {
  padding: 10px 0;
}