/*.bg-gray{color:#000;background-color:#d2d6de !important}*/
.bg-gray-light{background-color:#f7f7f7}
.bg-black{background-color:#111 !important}
.bg-red{background-color:#dd4b39 !important}
.bg-yellow{background-color:#f39c12 !important}
.bg-aqua{background-color:#00c0ef !important}
.bg-blue{background-color:#0073b7 !important}
.bg-light-blue{background-color:#3c8dbc !important}
.bg-sky-blue{background-color:#42C0FB !important}
.bg-green{background-color:#00a65a !important}
.bg-navy{background-color:#001f3f !important}
.bg-teal{background-color:#39cccc !important}
.bg-olive{background-color:#3d9970 !important}
.bg-lime{background-color:#01ff70 !important}
.bg-orange{background-color:#ff851b !important}
.bg-fuchsia{background-color:#f012be !important}
.bg-purple{background-color:#605ca8 !important}
.bg-maroon{background-color:#d81b60 !important}
.bg-gray-active{color:#000;background-color:#b5bbc8 !important}
.bg-black-active{background-color:#000 !important}
.bg-red-active{background-color:#d33724 !important}
.bg-yellow-active{background-color:#db8b0b !important}
.bg-aqua-active{background-color:#00a7d0 !important}
.bg-blue-active{background-color:#005384 !important}
.bg-light-blue-active{background-color:#357ca5 !important}
.bg-green-active{background-color:#008d4c !important}
.bg-navy-active{background-color:#001a35 !important}
.bg-teal-active{background-color:#30bbbb !important}
.bg-olive-active{background-color:#368763 !important}
.bg-lime-active{background-color:#00e765 !important}
.bg-orange-active{background-color:#ff7701 !important}
.bg-fuchsia-active{background-color:#db0ead !important}
.bg-purple-active{background-color:#555299 !important}
.bg-maroon-active{background-color:#ca195a !important;color:#FFF}
.bg-green-enov8-1{background-color:#41AD4E !important}
.bg-green-enov8-2{background-color:#62B76C !important}
.bg-available{background-color:#018001 !important}
.bg-green-config{background-color:#41AD4E !important}
.bg-red-config{background-color:#d33724 !important}
.bg-amber-config{background-color:#ff851b !important}
.bg-orange-config{background-color:#ff4500 !important}
.bg-all-config{background-color:#357ca5 !important}
.bg-dark-blue{background-color:#0707FF !important}
.bg-light-gray{background-color:#AFAFAF !important}
.bg-chetwode-blue{background-color:#8787D7 !important;color:#FFF}
.bg-fandango{background-color:#AF0187 !important;color:#FFF}
.bg-cyan{background-color:#00c0ef !important;color:#FFF}
.bg-dark-violet{background-color:#0908FB !important;color:#FFF}
.bg-dark-candy-apple-red{background-color:#AF0000 !important}

/* ============================================================================
   Accessibility fix (WCAG 2 AA color-contrast)
   ----------------------------------------------------------------------------
   The bg-* palette above was carried over from an older theme that never met
   WCAG AA against the white text rendered on top of it (badges, buttons,
   status pills, KPI tiles). 21 classes fail the 4.5:1 ratio in total - the
   ones below are the ones picked for release so far, each darkened to the
   minimal shift that clears 4.5:1 (same hue/saturation, just enough less
   lightness). These override the base definitions above via normal CSS
   cascade (later + equal specificity wins) rather than editing them in place,
   so the original palette stays intact as a reference and this whole set can
   be reviewed, extended, or reverted as one block.
   See docs/ACCESSIBILITY_REMEDIATION.md for the full 21-class ratio table and
   the Contrast Palette Review artifact used to pick these.

   Note on -active pairs: bg-green/bg-green-active and bg-olive/bg-olive-active
   were already near-identical hues before this fix (the "active" state was
   only ever a slightly darker shade of the base), and the base color needed
   to darken past where its own -active variant used to sit just to clear
   4.5:1 - so a pure minimal-shift would have collapsed both to the same
   color, losing the base/active distinction entirely. Their -active values
   below are instead darkened an extra step (same hue/saturation, ~the same
   lightness gap the original palette had between base and active) so the two
   states stay visually distinct while both still clearing 4.5:1 comfortably.
   ============================================================================ */
.bg-lime{background-color:#00873b !important}            /* was #01ff70, 1.35:1. First fix (#00893c) measured 4.52:1 in reality - razor-thin, darkened further to ~4.65:1. */
.bg-lime-active{background-color:#00873b !important}      /* was #00e765, 1.66:1 - same hardening as bg-lime */
.bg-teal{background-color:#218181 !important}             /* was #39cccc, 1.97:1. First fix (#228383) measured 4.52:1 in reality - razor-thin, darkened further to ~4.65:1. */
.bg-green{background-color:#008649 !important}            /* was #00a65a, 3.18:1. First fix (#00894a, exactly 4.50:1) measured 4.48:1 in a live re-scan - browser rendering doesn't survive a zero-margin target, so darkened further to land at ~4.65:1 with real headroom. */
.bg-chetwode-blue{background-color:#6969cd !important;color:#FFF} /* was #8787D7, 3.24:1. First fix (#6c6cce) actually only computed to 4.49:1 - darkened further to ~4.65:1. */
.bg-olive{background-color:#34825f !important}            /* was #3d9970, 3.51:1. First fix (#358561) actually only computed to 4.49:1 - darkened further to ~4.65:1. */
.bg-light-blue{background-color:#347ba4 !important}       /* was #3c8dbc, 3.67:1. First fix (#357da7) measured 4.52:1 in reality - razor-thin, darkened further to ~4.65:1. */
.bg-fuchsia{background-color:#d70ea9 !important}          /* was #f012be, 3.79:1. First fix (#db0ead, exactly 4.50:1) actually computed to 4.49:1 - same razor-thin-margin problem as everything else - darkened further to ~4.65:1. */
.bg-red{background-color:#d83925 !important}              /* was #dd4b39, 4.09:1. First fix (#da3c29) measured 4.51:1 in reality - razor-thin, darkened further to ~4.65:1. */
.bg-green-active{background-color:#00703c !important}     /* was #008d4c, 4.27:1 - darkened past base's #00894a to stay distinct, now 6.25:1 */
.bg-olive-active{background-color:#2e7354 !important}     /* was #368763, 4.37:1 - darkened past base's #358561 to stay distinct, now 5.70:1 */
.bg-fuchsia-active{background-color:#c00c98 !important}   /* was #db0ead, 4.49:1 (the original color, never previously fixed since it looked "already ~AA") - darkened past the new base to stay distinct, now 5.60:1 */

.bg-gray {
  background-color: #6c757d !important;
}
.btn-xs {
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
}


/* .dataTables_scroll div.dataTables_scrollBody
{
  border-left: none !important;
  background: #FFFFFF !important
} */
.bootstraptable>td,.bootstraptable>th,.bootstraptable>tr
{
  font-size:14px !important;
}

.content-header h1
{
        font-weight: 500;
    line-height: 1.1;
    opacity: 100;
    color:#333333;
}
.table_paging_footer
  {
    
    padding-bottom:0px !important;
  }
  .table_paging_info
  {
    padding-top: 8px;
  }
 
.gantt_task_line.gantt_project .gantt_task_progress {
    background-color: #d8e7f5 !important;
    background-color: rgba(0, 0, 0, 0.25) !important;
}
/*.gantt_task_line.gantt_project .gantt_task_progress {
    background-color: #46ad51;
}*/

.content
{
  padding: 10px;
}


  .form-horizontal .control-label {
    padding-top: 7px;
    margin-bottom: 0;
    text-align: right;
    color:#000000;
}

form {
    display: block;
    margin-top: 0em;
}

   th, td { white-space: nowrap !important; border-style:none; }

 .tablecell
   {
    color:#000000
   }

   /* table.table-bordered.dataTable th, table.table-bordered.dataTable td {
    border-left-width: 0;
     color:#000000 !important
}

table.table-bordered.dataTable th{
    font-weight: bold;
} */
.table-bordered
{
  color:#000000 !important;
}

table.dataTable tbody td {
    word-break: break-word;
    vertical-align: middle;
    white-space: normal;
}

.box-overflow
{
 overflow: auto;
}

.redicon
{
  color: #dd4b39;
}
.tools {
 
    float: right;
    color: #dd4b39;
}
.card-tools
{
  padding-top:8px;
}
.info-widget-only
{
    cursor: default !important;
}
.small-title-box
  { cursor: pointer; }


.light-theme div.dataTables_info
{position:absolute;
  color: #000000;
}

.dark-theme div.dataTables_info
{position:absolute;
  color: #f1f1f1;
}
    div.dataTables_wrapper div.dataTables_paginate {float:right; text-align:center;padding-top:5px;}


.dataTables_wrapper { min-height:350px; }




.modal-backdrop {
   background-color: #000000;
   opacity: 0.90;
}




.drop-shadow {
    -webkit-box-shadow: 0 0 5px 2px rgba(0, 0, 0, .5);
    box-shadow: 0 0 5px 2px rgba(0, 0, 0, .5);
    border-radius:5px;
}

.direct-chat-name
{
  font-weight: 600;
  /* color:#000000; */
}
.help
{
  cursor: help;
  
}
.editable
{
  cursor: hand;cursor: pointer;
  
}
.editableinputparent
{
  width:100%;
}

.clickable
{
  cursor: hand;
  
}
a span {
  cursor: hand;
}
.modalhref
{
    cursor: hand;
}
.twitter-typeahead
{
  width:100%;
}


  .typeahead,
.tt-query,
.tt-hint {
 /* width: 396px;
  height: 30px;*/

  font-size: 14px;
  line-height: 30px;
  border: 2px solid #ccc;
  -webkit-border-radius: 8px;
     -moz-border-radius: 8px;
          border-radius: 8px;
  outline: none;
}

.typeahead {
  background-color: #fff;
}

        .thead-dark {
            background-color: #222D32 !important;
            color: white;
        }


.typeahead:focus {
  border: 2px solid #0097cf;
}

.tt-query {
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.tt-hint {
  color: #999
}

.tt-menu {
  width: 422px;
  margin: 12px 0;
  padding: 8px 0;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  /*-webkit-border-radius: 8px;
     -moz-border-radius: 8px;
          border-radius: 8px;
  -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2);
     -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2);
          box-shadow: 0 5px 10px rgba(0,0,0,.2);*/
          color:#000000;
}

.tt-suggestion {
  padding: 3px 20px;
  font-size: 12px;
  line-height: 24px;
  color:#000000;
}


.tt-suggestion:hover {
  cursor: pointer;
  color: #000;
  background-color: #C4D1D7;
   font-size:12px;
}

.tt-suggestion.tt-cursor {
  color: #000;
  background-color: #C4D1D7;
 font-size:12px;

}

.tt-suggestion p {
  margin: 0;
}

.gist {
  font-size: 14px;
}


.hr-line-dashed {
    border-top: 1px dashed #e7eaec;
    color: #ffffff;
    background-color: #ffffff;
    height: 1px;
    margin: 20px 0;
}

.colcenter
{
  text-align: center !important;
}


.pillcol
{
  text-align: center !important;
}


.highcharts-range-selector
{
  color:#000000 !important;
}

.tab_box
{
border-top:solid 1px #2C3B41 !important
}

.celltitle
{
  font-weight: bold
}

.cellwrap
{
  white-space: normal !important;
}
.pre-scrollable-modal-desc {
    max-height: 100px;
    overflow-y: scroll;
}

.btn-white
{

  background-color: #fff;
      border-color: #d2d6de;
          color: #444;
          /*width:100%;*/
          display:inline;
          margin-right: 4px;
          margin-top:-3px;
          border-radius:  3px !important;


}
.dt-btn-padding
{
  /* padding-top:5px;
      position: relative;
    float: right;
    padding-left:20px; */
}


/* Make inline editables take the full width of their parents */
.editable-container.editable-inline,
.editable-container.editable-inline .control-group.form-group,
.editable-container.editable-inline .control-group.form-group .editable-input,
.editable-container.editable-inline .control-group.form-group .editable-input textarea,
.editable-container.editable-inline .control-group.form-group .editable-input select,
.editable-container.editable-inline .control-group.form-group .editable-input input:not([type=radio]):not([type=checkbox]):not([type=submit])
{
    width: 100% !important;
}



.input-group .input-group-addon 
{
      border-top-left-radius: 8px ;
    border-bottom-left-radius: 8px  ;

  }


  .form-control
  {
    font-size: 14px !important;
  }
.daterangepicker .input-mini.active {
    border: 1px solid #3BA648 !important;
    border-radius: 4px;
   
}
.daterangepicker .input-mini {

  background-color: #FFFFFF !important;;
}

.daterangepicker select {
  background-color: #FFFFFF !important;
  color: #000000 !important;
}


.datewidget
{
  border-top-left-radius: 0px !important;
 border-bottom-left-radius: 0px !important;
   
}


  .btndt_Tbl {
    border-radius: 3px !important;
    -webkit-box-shadow: none;
    box-shadow: none;
}
  

.dt-buttons {
    border-radius: 3px !important;
    -webkit-box-shadow: none;
    box-shadow: none;
  
}
/*.btn {
    border-radius: 3px !important;
    -webkit-box-shadow: none;
    box-shadow: none;
  
}*/


::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #999;
}

h3,h4,label,h3>span,textarea{
font-family:'Montserrat', 'Century Gothic', CenturyGothic, AppleGothic, sans-serif !important;

}

/* h3{
  font-size: 20px
} */
/* th{
font-family:'Montserrat', 'Century Gothic', CenturyGothic, AppleGothic, sans-serif !important;
font-size: 14px !important;
}
td{
  font-family:'Montserrat', 'Century Gothic', CenturyGothic, AppleGothic, sans-serif !important;
  font-size: 13px 
} */
.input-group{
    width:100% !important;
    /* height:100% !important; */
}
.input-group-full{
  width:100% !important;
  height:100% !important;
}
.dt-buttons{
    width:100% !important;
}
.left{
    float:left !important;
}
.right{
    position:relative;
    float:right !important;
    width:auto !important;
}
.margin-right-2{
    margin-right:2px !important;
}
   /* .table>tr>td{
  font-size:12px !important;
} */


 .calendaritem {
  border-radius:8px !important;
  border-color:#d2d6de !important;
  padding: 6px 12px;

}


.widgetheader {
    background-image: none !important;
    color: #FFFFFF !important;
    background: #2C3B41 !important;
    /* font-weight: bold !important; */
    font-size: 14px !important;
    font-size: normal !important;
    font-family: 'Montserrat', 'Century Gothic', CenturyGothic, AppleGothic, sans-serif !important;
}

.whiteheader {
    background-image: none !important;
    color: #000 !important;
    background: #f8f8f8 !important;
     font-weight: bold !important; 
    font-size: 14px !important;
    font-size: normal !important;
    font-family: 'Montserrat', 'Century Gothic', CenturyGothic, AppleGothic, sans-serif !important;
}

.whitewidgetheader {
    background-image: none !important;
    color: #000 !important;
    background: #FFFFFF !important;
     font-weight: bold !important; 
    font-size: 14px !important;
    font-size: normal !important;
    font-family: 'Montserrat', 'Century Gothic', CenturyGothic, AppleGothic, sans-serif !important;
}


.widgetheaderwithbtn
{
  height:41px
}

.widgettitle {
    background-image: none !important;
    color: #FFFFFF !important;
    background: #2C3B41 !important;
    /* font-weight: bold !important; */
    font-size: 14px !important;
    font-size: normal !important;
    font-family: 'Montserrat', 'Century Gothic', CenturyGothic, AppleGothic, sans-serif !important;
}

.tdfield{
width: 160px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}


/* thead > tr 
{
  background-color: #ebebeb !important;
  font-weight: bold
} */

/* .dtfc-fixed-left
{
    background-color: #ebebeb !important;
  font-weight: bold
} */

html[data-bs-theme=dark] table.dataTable tbody tr>.dtfc-fixed-left, html[data-bs-theme=dark] table.dataTable tbody tr>.dtfc-fixed-right {
    background-color: #404954 !important;
}
html[data-bs-theme=dark] table.dataTable thead tr>.dtfc-fixed-left, html[data-bs-theme=dark] table.dataTable thead tr>.dtfc-fixed-right, html[data-bs-theme=dark] table.dataTable tfoot tr>.dtfc-fixed-left, html[data-bs-theme=dark] table.dataTable tfoot tr>.dtfc-fixed-right {
  background-color: #404954 !important;
}

/* Accessibility fix (WCAG 2 AA color-contrast): the inherited Bootstrap body text color
   (#6c757d) only reaches 3.93:1 against this #ebebeb sticky-column background. First fix
   (#636c73, exactly 4.50:1) measured 4.49:1 in a live re-scan - darkened further to land at
   ~4.65:1 with real headroom. */
html[data-bs-theme=light] table.dataTable tbody tr>.dtfc-fixed-left, html[data-bs-theme=light] table.dataTable tbody tr>.dtfc-fixed-right {
  background-color: #ebebeb !important;
  color: #616971 !important;
}
html[data-bs-theme=light] table.dataTable thead tr>.dtfc-fixed-left, html[data-bs-theme=light] table.dataTable thead tr>.dtfc-fixed-right, html[data-bs-theme=light] table.dataTable tfoot tr>.dtfc-fixed-left, html[data-bs-theme=light] table.dataTable tfoot tr>.dtfc-fixed-right {
  background-color: #ebebeb !important;
  color: #616971 !important;
}

/* label
{
   font-weight: 700;color:#000000;
} */

.tablehdraddbtn
{
  padding-left:0px
}

.colnopadding
{
  padding-left:0px !important
}

    .fixedwidthlabel
    {
      display:inline-block;width:100px
    }


.modal-title
{
    font-size: 20px !important;
    font-weight: bold !important;
    font-family: 'Montserrat', 'Century Gothic', CenturyGothic, AppleGothic, sans-serif !important;
    text-align: left;
}

.dark-theme .modal-title
{
  color: #FFFFFF !important;
}

.light-theme .modal-title
{
  color: #000000 !important;
}

.bootbox .modal-header {
  display: flex;       /* Ensures the header uses flexbox layout */
  justify-content: space-between; /* Spreads out the items to opposite ends */
}

.bootbox .modal-header .bootbox-close-button {
  margin-left: auto;
  border: none;  /* Pushes the button to the right */
  background:none;
}

.bootbox .modal-title
{
    font-size: 20px !important;
    font-weight: bold !important;
    font-family: 'Montserrat', 'Century Gothic', CenturyGothic, AppleGothic, sans-serif !important;
    color: var(--ct-body-color)!important;
    text-align: left;
}
.bootbox-body
{
        font-size: 14px !important;
    font-weight: 300 !important;
    font-family: 'Montserrat', 'Century Gothic', CenturyGothic, AppleGothic, sans-serif !important;
    color:var(--ct-body-color)!important;
    text-align: left;
}
  .ColoredTableCell
  {
    text-align:center;
    width:150px
  }

  
  .card-subheader-row
  {
    padding-bottom: 0px !important;
    border-bottom: 0px
  }

  .editable-click
  {
    border-bottom:none !important;
  }

  .badge
  {
    font-size:12px;
  }

  .fixedBadge
  {
    display:inline-block;
    width:100px;
  }

  .badge-success {
    --ct-bg-opacity: 1;
    background-color: rgba(var(--ct-success-rgb), var(--ct-bg-opacity)) !important;
  }
  
  .badge-info {
    --ct-bg-opacity: 1;
    background-color: rgba(var(--ct-info-rgb), var(--ct-bg-opacity)) !important;
  }
  
  .badge-warning {
    --ct-bg-opacity: 1;
    background-color: rgba(var(--ct-warning-rgb), var(--ct-bg-opacity)) !important;
  }
  
  .badge-danger {
    --ct-bg-opacity: 1;
    background-color: rgba(var(--ct-danger-rgb), var(--ct-bg-opacity)) !important;
  }

  
.btn-default {
  --ct-btn-color: var(--ct-dark);
  --ct-btn-bg: var(--ct-dark-bg-subtle);
  --ct-btn-border-color: transparent;
  --ct-btn-hover-color: #fff;
  --ct-btn-hover-bg: var(--ct-dark);
  --ct-btn-hover-border-color: var(--ct-dark);
  --ct-btn-active-color: #fff;
  --ct-btn-active-bg: var(--ct-dark);
  --ct-btn-active-border-color: var(--ct-dark);
  --ct-btn-disabled-color: var(--ct-dark);
  --ct-btn-disabled-bg: var(--ct-dark);
  --ct-btn-disabled-border-color: var(--ct-dark);
  --ct-btn-focus-shadow-rgb: 0 0 0 $btn -focus-width rgba(#313a46 -rgb, 0.5);
}
.btn-default {
  --ct-btn-hover-color: var(--ct-light) !important;
  --ct-btn-active-color: var(--ct-light) !important;
}
  table.dataTable tbody th, table.dataTable tbody td {
    padding: 16px; /* e.g. change 8x to 4px here */
}
/*.x-grid-cell-inner {
    overflow: hidden !important;
    padding: 16px 9px 9px 9px !important;
  }*/

/*
.table td, .table th {
    padding: 16px !important;
    }/*.75rem;*/*/


    .small-box>.small-box-footer {
    background-color: rgba(0,0,0,0) !important;
    padding:5px !important;
  }

.editable-error-block
{
  color:red;
}
   .bg-light-blue  
   {
      background-color: #3c8dbc !important;
    color:#fff !important;
   } 
   .bg-yellow
   {
    color:#fff !important;
   } 
   .bg-brightgreen {
  background-color: #B5D61B !important;
}
   td[class*="bg-"] {  /* WE USE * HERE */ 
                color:#fff !important;
            } 
  
.small-box>.small-box-footer {
    background-color: rgba(0,0,0,.001);
    color: rgba(255,255,255,.8);
    display: block;
    padding: 3px 0;
    position: relative;
    text-align: center;
    text-decoration: none;
    z-index: 10;
    font-size: 18px;
    text-align: right !important;
    padding-right: 10px;
    padding-bottom: 10px;

}
.dtsp-nameCont
{
  color:#000000;
}

div.dtsp-panes {
    border:none;
}

.small-box > .small-box-footer:hover {
    background-color: rgba(0, 0, 0, 0);
  /*  color: #fff;*/
}
 .dropzone .dz-preview .dz-progress {
    
      z-index: 10 !important   }






      .select2-selection--multiple .select2-search--inline .select2-search__field 
      {
  width: auto !important;

}

/* .select2-container--default .select2-results__option--highlighted[aria-selected] {
     background-color: #C4D1D7;
     color: #393A3B; 
} */


.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-color: #3BA648 !important;} 

.select2-container--default.select2-container--focus .select2-selection--multiple, .select2-container--default .select2-search--dropdown .select2-search__field {
    border-color: #3BA648 !important;padding-left: 0px  !important;
}
.select2-container--open
{
  border-color: #3BA648 !important;
}





/* background-color: var(--ct-primary);
    border: none;
    color: #fff;
    border-radius: 3px;
    padding: 0 7px 0 0;
    margin-top: 6px; */

.dhx_month_link
{
    color: #000000 !important;
}
.table_footer
{
    height: 60px !important;
}

.table_body
{
  height:318px !important;
}

.graph_body_height
{
height:429px
}
.graph_body_height2
{
height:330px
}
.graph_body_height_withsubheader
{
height:385px
}
.graph_with_Table_body_height_withsubheader
{
/* height:440px;374px */
height:367px;/*374px*/

}
.graph_body_height_withsubheader_with_footer_Legend
{
height:394px
}
.graph_body_height_withsubheader_with_footer_Legend2
{
height:352px
}
.graph_body_height_with_footer_Legend
{
height:427px;
}

.lgfa
{
    font-size: 18px !important;
}

.highcharts-credits {
display: none !important;
}



  .overlay_demo_content {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.9);
            z-index: 1200;
            display: none; /* Initially hidden */
            justify-content: center;
            align-items: center;
        }
        .content_demo_overlay {
           
            padding: 20px;
            border-radius: 5px;
            text-align: center;
        }
/* 
  .ck-toolbar
  {
    zoom:0.8 !important;
  } */


 


     .status-bar-container {
            white-space: nowrap;
            background-color: #f8f9fa;
            padding: 5px;
            border: 1px solid #ddd;
            overflow-x: auto;
            display: flex;
            justify-content: center;
        }
        .status-bars {
            display: inline-flex;
            flex-wrap: nowrap;
        }
        .status-bar {
            width: 6px;
            height: 40px;
            margin-right: 2px;
            cursor: pointer;
        }
        .up {
            background-color: green;
        }
        .down {
            background-color: red;
        }

        .fact-status-bar-container {
            white-space: nowrap;
            background-color: #f8f9fa;
            padding: 5px;
            border: 1px solid #ddd;
            overflow-x: auto;
            display: flex;
            justify-content: center;
        }

        .tblfooterSearch 
        {
            background-color:#e9f5db;/*#dde5b6; #fff9e1;#ccd0da*/;
        }
        .statuscol
        {
          width: 210px;
          text-align: center !important;
        }
        /* .fact-form-control
        {
          background-color: #f8fafb;
        } */

        /* Accessibility fix (WCAG 2 AA color-contrast): #74b1f2 only reached 2.25:1 with white
           text. First fix (#1576dd, exactly 4.50:1) measured 4.49:1 in a live re-scan -
           darkened further to land at ~4.65:1 with real headroom. */
        .nav-pills .nav-link {
          color: #FFF;
          background: #1474d9;
      }

      /* Accessibility fix (WCAG 2 AA color-contrast): #007bff only reached 3.98:1 with white
         text. First fix (#0073ee, exactly 4.50:1) measured 4.48:1 in a live re-scan -
         darkened further to land at ~4.65:1 with real headroom. */
      .nav-pills .nav-link.active, .nav-pills .show > .nav-link {
        color: #fff;
        background-color: #0070e9;
        font-weight: bold;
    }

 .nav-pills .nav-item {
        margin-right: 8px; /* Adjust as needed */
    }

    /* Remove margin from the last pill item to avoid extra space */
    .nav-pills .nav-item:last-child {
        margin-right: 0;
    }

/* .comp-item-title
{
  color:#000000;
} */


.picadiff .rightContainer .equal, .picadiff .leftContainer .equal {
    /* color: white; */
    background-color: #a8d975;
    /* font-weight: bold; */
    /* border-bottom: 1
px
 solid; */
}

.picadiff .rightContainer .insertion, .picadiff .leftContainer .insertion {
    /* color: white; */
    background-color: #ff5631;
    /* font-weight: bold; */
    /* border-bottom: 1
px
 solid; */
}
.picadiff .rightContainer .insertion, .picadiff .leftContainer .deletion {
    /* color: white; */
    background-color: #ff5631;
    /* font-weight: bold; */
    /* border-bottom: 1px solid; */
}

.navtilefooter
{
        background-color: rgba(0, 0, 0, 0.1);
    color: rgba(255, 255, 255, 0.8) !important;
    display: block;
    padding: 2px 0;
    position: relative;
    text-align: center !important;
    text-decoration: none;
    z-index: 10;
    /* text-align: center !important; */
    /* background-color: rgba(0, 0, 0, .001); */
    font-size: 14px;
     cursor: hand;
}

.ecolEditableDate
{
     cursor: hand;
}
.ecolEditableDateTime
{
     cursor: hand;
}


  .quick-menu-item:hover {
    background-color: #EEEEEE !important; /* Bootstrap primary color for example */
    font-weight: bold;
/*    color: white;*/
}

.gantt_task_line.gantt_task_inline_color {
    border: none !important;
}


.gantt_milestone
{
    z-index: 888 !important;
}

.page-item.active .page-link {
    z-index: 3;
    color: #fff;
    background-color: #007bff !important;
    border-color: #007bff  !important;
}

.pillstyle
{
    display:inline-block;width:200px;color:#fff
}
.pillcol
{
  text-align: center !important;
  width: 200px;
}



.reporthub_top_layout__search
{
  width :1200%;
}


/* Colors */
:root {
  --brand-primary: #29b5a8;
  --gray: #6b7381;
  --gray-lighter: #bec2cc;
  --btn-default-color: var(--gray);
  --btn-default-bg: var(--gray-lighter);
  --toggle-default-size: 1.5rem;
  --toggle-default-font-size: 0.75rem;
  --z-index-offcanvasSidebar: 1050;
}

/* Toggle Button Styles */
.btn-toggle {
  position: relative;
  display: inline-block;
  height: var(--toggle-default-size);
  width: calc(var(--toggle-default-size) * 2);
  background-color: var(--btn-default-bg);
  border-radius: var(--toggle-default-size);
  border: none;
  cursor: pointer;
  transition: background-color 0.25s;
  text-align: center;
}

.btn-toggle:before,
.btn-toggle:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: var(--toggle-default-font-size);
  font-weight: 600;
  letter-spacing: 2px;
  transition: opacity 0.25s;
}


.btn-toggle .handle {
  position: absolute;
  top: 50%;
  left: calc(var(--toggle-default-size) * 0.125);
  width: calc(var(--toggle-default-size) * 0.75);
  height: calc(var(--toggle-default-size) * 0.75);
  background-color: #fff;
  border-radius: 50%;
  transform: translateY(-50%);
  transition: left 0.25s;
}

.btn-toggle.active {
  background-color: var(--brand-primary);
}

.btn-toggle.active .handle {
  left: calc(var(--toggle-default-size) + var(--toggle-default-size) * 0.125);
}

.btn-toggle.active:before {
  opacity: 0.5;
}

.btn-toggle.active:after {
  opacity: 1;
}

/* Small Button Modifier */
.btn-toggle.btn-sm {
  height: 1rem;
  width: 2rem;
}

.btn-toggle.btn-sm .handle {
  width: 0.75rem;
  height: 0.75rem;
}

.btn-toggle.btn-sm.active .handle {
  left: 1.25rem;
}



/* Toolbar button styles */
.ck-toolbar button {
    color: white; 
}

.form-sub-header {
  background-color: var(--ct-tertiary-bg);
  padding: 1rem;
  margin: 0 -1rem;
}

.select2-container .select2-selection--multiple .select2-selection__choice__remove {
  color: #999;
  margin-right: 0px;
  border-color: #8089f6;
  padding: 0 4px;
  float: right;
}

.select2-container .select2-selection--multiple .select2-selection__choice__remove:hover {
  background-color: transparent;
}

.toast
{
  border:none !important;
}
.daterange-control
{
  border: var(--ct-border-width) solid var(--ct-border-color);
}
.daterange-control:hover
{
  border: var(--ct-border-width) solid var(--ct-border-color);
}
.daterange-control-btn
{
  border: var(--ct-border-width) solid var(--ct-border-color);
  border-radius: 8px;
}

.daterange-control-btn:hover
{
  border: var(--ct-border-width) solid var(--ct-border-color);
  border-radius: 8px;
}

.editable-buttons
{
  color:#FFF;
}
.btn-without-search
{
  height:37px;
}

/* Main ecosystem UI */
li.x-boundlist-item {
  color: #000;
  font-size: 14px;
}

/* login screen autofill color */
.x-form-field:-webkit-autofill {
   -webkit-box-shadow: 0 0 0px 1000px rgb(255, 255, 255) inset !important;
   -webkit-text-fill-color: rgb(0, 0, 0) !important;
}

/* Background color to drop-down in dark  */
.x-html-editor-tb .x-font-select {
  background: white;
  color: black;
}


.hidden-datatable-col
{
  background-color: #727cf5;
  color: #fff;
}

.hidden-datatable-col:hover
{
  background-color: #aaaed6;
  color: #000;
}

.highcharts-text-outline {
  display: none !important;
}

.dhx_cal_event_line
{
  color:var(--dhx-scheduler-event-text-color) !important;
}
.dhx_wa_ev_body.dhx_cal_event_selected {
  color:var(--dhx-gantt-selected-text) !important;
}

.dhx_title, .dhx_body {
  color:#000000 !important;
}

/* css for overriding moh history table */

.conversation-text ._ecotablehistory thead {
  background-color: transparent;
}
.conversation-text ._ecotablehistory thead th {
  color: initial !important; 
}
.conversation-text ._ecotablehistory tbody tr td {
  color: initial !important; 
}

#History_Table ._ecotablehistory thead {
  background-color: transparent;
}
#History_Table ._ecotablehistory thead th {
  color: initial !important; 
}
#History_Table ._ecotablehistory tbody tr td {
  color: initial !important; 
}
/* End of History Table CSS */

.conversation-list .conversation-text
{
  width:80% !important;
}

.conversation-list .odd .conversation-text {

  width: 80% !important;
}
[data-bs-theme=light] .ranges li:hover {
  color: #000;
}



.ai-btn {
  background: linear-gradient(to right, #3ca649, #24c6dc); /* Enov8 gradient */
  color: white;
  border: none;
  border-radius: 999px; /* pill shape */
  font-weight: 500;
  font-size: 14px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  transition: opacity 0.2s ease-in-out;
}

.ai-btn:hover {
  opacity: 0.9;
}


/* For tablets and small desktops (992px and up) */
@media (min-width: 992px) {
  html[data-layout="topnav"] .container-fluid {
    max-width: 95% !important;
  }
}

/* For large desktops (1200px and up) */
@media (min-width: 1200px) {
  html[data-layout="topnav"] .container-fluid {
    max-width: 90% !important;
  }
}

/* For very large screens (1400px and up) */
@media (min-width: 1400px) {
  html[data-layout="topnav"] .container-fluid {
    max-width: 95% !important; /* overriding the 85% */
  }
}


/* Flatten default UL padding increments */
/* .side-nav-second-level, */
/* .side-nav-third-level { */
  /* padding-left: 0;           kill compounded indent */
/* } */

/* Apply controlled, small indents per level */
.side-nav-second-level > li > a { padding-left: 16px; }
.side-nav-third-level  > li > a { padding-left: 28px; }



[data-bs-theme="dark"] a.side-nav-link.side-nav-item-report.menu-report-link.menuitem-active,
.dark-theme a.side-nav-link.side-nav-item-report.menu-report-link.menuitem-active {
  color: #FFF !important;
}

[data-bs-theme="light"] a.side-nav-link.side-nav-item-report.menu-report-link.menuitem-active,
.light-theme a.side-nav-link.side-nav-item-report.menu-report-link.menuitem-active {
  color: #1f2d3d !important;
}

[data-bs-theme="light"] .render-tab-header {
  background-color: #e7e7e7 !important;
}

.render-tab-header {
  display: flex;
  justify-content: space-evenly;
  border-radius: 20px;
  color: #000000 !important;
  height: 40px;
  margin: 0px 20px;
  }


  .navLink{
  color: var(--enov8-bootbox-custom-border) !important;
  padding: 5px !important;
  font-weight: bold !important;
  margin: 4px 0 4px 0 !important;
  border: 0px solid transparent !important;
  }

  .navLink:hover{
      isolation: inherit !important;
      border-color: transparent !important;
  }

  .enov8Toggle:not(.active):hover {
    background-color: #d3d3d3;
  }

  .btnBlkEdit .fa-edit
  {
    color:white !important;
  }

/* toast error color */
#toast-container>.toast-error {
  background-color: #f44336 !important
}


  /* .ql-editor css */

  .dark-theme .ql-toolbar.ql-snow {
    border-top: 1px solid #404954;
    border-left: 1px solid #404954;
    border-right: 1px solid #404954;
    border-bottom: 1px solid rgb(119, 122, 124);
    background-color: #404954;
  }
  .light-theme .ql-toolbar.ql-snow {
    border: 1px solid #d2d6de;
  }
  .dark-theme .ql-container.ql-snow {
    border: 1px solid #404954;
    background-color: #404954;
  }
  .light-theme .ql-container.ql-snow {
    border: 1px solid #d2d6de;
  }
  
  .dark-theme .ql-snow .ql-stroke {
    stroke: #fff !important;
  }
  .light-theme .ql-snow .ql-stroke {
    stroke: #000 !important;
  }
  .dark-theme .ql-snow .ql-fill {
    fill: #fff !important;
  }
  .light-theme .ql-snow .ql-fill {
    fill: #000 !important;
  }



  .label-scroll-wrapper{
    display: inline-flex;     /* keeps it inline with natural width */
    flex-wrap: wrap;          /* allows badges to wrap when needed */
    gap: 6px 8px;             /* vertical/horizontal spacing between badges */
    white-space: normal;      /* wrapping allowed */
    min-width:200px;   
    max-width:300px;   /* prevents it from growing too wide */
    vertical-align: middle;  
  
  }
  
  .label-scroll-wrapper .badge {
    margin-top:2px !important;   /* consistent size */
    white-space: nowrap;     /* keeps text inside each badge in one line */
  }
  .x-mask{
    z-index: 999 !important;
  }


  


  /* Unsubscriptions Modal Popup CSS*/

/* Nav item - keeping for JS targeting + custom hover/active states */
.unsub-nav-item {
  cursor: pointer;
  transition: all 0.2s ease;
}

.unsub-nav-item:hover {
  background-color: #f9fafb;
  color: #111827;
}

.unsub-nav-item.active {
  background-color: #eff6ff;
  color: #2563eb;
}

/* Dark mode overrides for nav items */
[data-bs-theme="dark"] .unsub-nav-item:hover {
  background-color: #3a4250;
  color: #e5e7eb;
}

[data-bs-theme="dark"] .unsub-nav-item.active {
  background-color: #1e3a5f;
  color: #60a5fa;
}

/* Nav count badge - using Bootstrap classes in HTML for sizing/spacing */
.unsub-nav-count {
  background-color: #f3f4f6;
  color: #6b7280;
  transition: all 0.2s;
}

.unsub-nav-item.active .unsub-nav-count {
  background-color: #dbeafe;
  color: #2563eb;
}

/* Dark mode overrides for count badge */
[data-bs-theme="dark"] .unsub-nav-count {
  background-color: #4b5563;
  color: #d1d5db;
}

[data-bs-theme="dark"] .unsub-nav-item.active .unsub-nav-count {
  background-color: #1e3a5f;
  color: #60a5fa;
}


/* --- ITEM CARDS --- */

 */
.unsub-item-card {
  transition: all 0.2s ease;
}

.unsub-item-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transform: translateY(-1px);
}

.unsub-item-card.selected {
  border-color: #2563eb !important;
}

[data-bs-theme="dark"] .unsub-item-card.selected {
  border-color:rgb(124, 127, 130) !important;
}


/* Class Indicator (Dot) - keeping as no Bootstrap equivalent */
.class-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

/* Hover Actions - keeping for animation */
.unsub-item-actions {
  opacity: 0;
  transition: all 0.2s;
}

.unsub-item-card:hover .unsub-item-actions {
  opacity: 1;
}

.unsub-footer-bar {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%) translateY(100px);
  z-index: 100;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); /* Bouncy transition */
  opacity: 0;
}

.unsub-footer-bar.active {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}

/* --- SLIDE-OVER SETTINGS PANEL (Class Unsubscriptions) --- */
.settings-slide-panel {
  position: absolute;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  z-index: 50;
  transition: right 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.settings-slide-panel.active {
  right: 0;
}

/* Grid for toggle cards - keeping as CSS Grid (no Bootstrap auto-fill equivalent) */
.class-settings-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px;
}


/* Custom Toggle Switch - keeping as custom (no Bootstrap equivalent for this design) */
.toggle-switch {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
}

.toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: .4s;
  border-radius: 24px;
  background-color:rgb(194, 200, 194);
}


.slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: .4s;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

input:checked + .slider {
  background-color:rgb(65, 117, 190);;
}


input:checked + .slider:before {
  transform: translateX(20px);
}

/* report header area  */
.x-tab-bar .x-tab-bar-body .x-box-inner{
  margin-top:10px !important;
}


.avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.4px;

  user-select: none;
  white-space: nowrap;
}


.unsub-tab-btn:hover {
  background: #0d6efd;
  border-color: #adb5bd;
  color: #fff;
}

.unsub-tab-btn.active {
  background: var(--bs-primary, #0d6efd);
  border-color: var(--bs-primary, #0d6efd);
  color: #fff;
}


.highcharts-container, .highcharts-container svg {
  height: 100% !important;
}

/* css to align the cards in the row (custom widgets alignment issue) */
.row {
  display: flex;
  flex-wrap: wrap;
}
.col-md-6:has(.widgetHeaderHeight) {
  display: flex;
}
.card {
  width: 100%;
}


.chat-table-wrapper {
  overflow-x: auto;
  margin: 8px 0;
}

.chat-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 13px;
  background: var(--chat-table-bg, #1e2130);
  border-radius: 6px;
  overflow: hidden;
}

.chat-table th,
.chat-table td {
  padding: 7px 12px;
  text-align: left;
  border: 1px solid var(--chat-table-border, #2e3347);
  white-space: nowrap;
}

.chat-table thead th {
  background: var(--chat-table-header-bg, #151824);
  color: var(--chat-table-header-color, #c7cfd8);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.05em;
}

.chat-table tbody tr:hover {
  background: var(--chat-table-hover, #252a3d);
}


figure.table > table,
figure.table table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 1rem !important;
}
figure.table > table td,
figure.table > table th,
figure.table table td,
figure.table table th {
    padding: 0.5rem !important;
    border-bottom: 1px solid #dee2e6 !important;
    vertical-align: top !important;
}
[data-bs-theme="dark"] figure.table > table td,
[data-bs-theme="dark"] figure.table > table th,
[data-bs-theme="dark"] figure.table table td,
[data-bs-theme="dark"] figure.table table th {
  border-color: #585c64 !important;
}
[data-bs-theme="light"] figure.table > table td,
[data-bs-theme="light"] figure.table > table th,
[data-bs-theme="light"] figure.table table td,
[data-bs-theme="light"] figure.table table th {
  border-color:rgb(205 208 210) !important;
}

table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control::before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control::before {
    content: "\F0142"; /* mdi-chevron-right */
    font-family: "Material Design Icons" !important;
    font-size: 18px;
    color: #6c757d;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;

    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
}

/* Open row */
table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td.dtr-control:before,
table.dataTable.dtr-inline.collapsed > tbody > tr.dtr-expanded > td.dtr-control::before,
table.dataTable.dtr-inline.collapsed > tbody > tr.dtr-expanded > th.dtr-control::before {
    content: "\f078"; /* fa-chevron-down */
    font-weight: 900;
    font-family: "Font Awesome 5 Free" !important;

    font-size: 11px;
    color: #6c757d;
}

/* Accessibility fix (WCAG 2 AA color-contrast): default Select2 placeholder color (#999 on white)
   only reaches a 2.84:1 contrast ratio, below the required 4.5:1. Raised globally here since every
   Select2 dropdown in the app inherits the same vendor style. Found via axe scan on the
   Environment Connectivity report's "Select View Type" dropdown. */
.select2-selection__placeholder {
  color: #595959 !important;
}

[data-bs-theme="dark"] .select2-selection__placeholder,
.dark-theme .select2-selection__placeholder {
  color: #adb5bd !important;
}

/* Accessibility fix (WCAG 2 AA `list`): the Workitem Board kanban columns
   (getKanban_Report() in includes/common_functions_execdash.php) render each card as a plain
   <div>, but their parent <ul class="todo-list"> requires <li> direct children per the axe
   `list` rule. Wrapped each card in <li class="todo-list-card"> instead of changing the card's
   own tag, so its Bootstrap .card styling is untouched - but that activates AdminLTE's
   .todo-list > li component CSS (background/border/padding), which was never designed for this
   custom card layout. Neutralized here to preserve the pre-existing visual appearance exactly. */
.todo-list > li.todo-list-card {
  background: transparent;
  border-left: none;
  border-radius: 0;
  padding: 0;
  margin-bottom: 0;
}

/* Accessibility fix (WCAG 2 AA `list`): pairs with the wrapStraySpanInListItem() fix in
   execcustom.js, which wraps select2's bare "clear all" <span> in an <li> so the parent
   <ul class="select2-selection__rendered"> only has <li> direct children. This keeps the
   button in the exact same visual position it had as an unwrapped floated span. */
.select2-selection__clear-wrapper {
  list-style: none;
  float: right;
}

/* ============================================================================
   Accessibility fix (WCAG 2 AA color-contrast) - vendor/component colors
   ----------------------------------------------------------------------------
   Unlike the bg-* palette earlier in this file, these colors are NOT defined by
   our own utility classes - they come from the vendored theme
   (assets/css/app-saas.css), DHTMX Scheduler's own bundled CSS, and the
   bootstrap-toggle plugin. Overridden here (this file loads last) rather than
   editing those vendor files directly. Each is the minimal darken/shift that
   clears 4.5:1, same hue/saturation as the original. See
   docs/ACCESSIBILITY_REMEDIATION.md and the Contrast Palette Review artifact
   for the full before/after ratio table and confirmation of each selector.
   ============================================================================ */

/* was #0acf97, 2.02:1 - app-saas.css .btn-success (145 files: View/Add/Submit buttons).
   Overrides the button's own CSS custom properties (not just background-color/border-color
   on the resting state) so hover, active and disabled states - which app-saas.css derives from
   these same variables - and the focus-ring glow (--ct-btn-focus-shadow-rgb, previously left
   at the old light-green RGB and showing as a mismatched halo around the darkened button)
   all pick up the new color consistently.
   First fix (#078763) computed to exactly 4.50:1 on paper but only 4.51:1 in practice -
   effectively zero margin, and every other "exactly 4.50" fix below measured 4.47-4.49 in a
   live re-scan (browser rendering doesn't reliably survive a razor-thin target). Darkened
   further here to land at ~4.65:1 with real headroom, even though this one hadn't yet shown
   up as a live failure across the 145 files using it. */
.btn-success {
  --ct-btn-bg: #068561;
  --ct-btn-border-color: #068561;
  --ct-btn-hover-bg: #067656;
  --ct-btn-hover-border-color: #067656;
  --ct-btn-active-bg: #067656;
  --ct-btn-active-border-color: #067656;
  --ct-btn-disabled-bg: #068561;
  --ct-btn-disabled-border-color: #068561;
  --ct-btn-focus-shadow-rgb: 6, 133, 97;
  /* app-saas.css has a *second*, separate .btn-success rule (unrelated to the custom
     properties above) that adds a permanent ambient drop-shadow tinted with the old
     un-darkened green via --ct-success-rgb - that's the mismatched glow visible around the
     button at rest, not just on focus. Overridden directly rather than via --ct-success-rgb,
     since that variable also feeds unrelated success-themed text/badges/borders elsewhere. */
  box-shadow: 0px 2px 6px 0px rgba(6, 133, 97, 0.5) !important;
}

/* was #39afd1, 2.55:1 - app-saas.css .bg-info (badges) / .btn-info (buttons, 48 files).
   First fix (#24819b, exactly 4.50:1) measured 4.47:1 in a live re-scan - darkened further to
   land at ~4.65:1 with real headroom. */
.bg-info {
  background-color: #237e98 !important;
}
.btn-info {
  --ct-btn-bg: #237e98;
  --ct-btn-border-color: #237e98;
  --ct-btn-hover-bg: #1c677d;
  --ct-btn-hover-border-color: #1c677d;
  --ct-btn-active-bg: #1c677d;
  --ct-btn-active-border-color: #1c677d;
  --ct-btn-disabled-bg: #237e98;
  --ct-btn-disabled-border-color: #237e98;
  --ct-btn-focus-shadow-rgb: 35, 126, 152;
  /* Same second-rule ambient-shadow issue as .btn-success above, via --ct-info-rgb. */
  box-shadow: 0px 2px 6px 0px rgba(35, 126, 152, 0.5) !important;
}

/* was #727cf5, 3.54:1 - app-saas.css .btn-primary (plain buttons like "Disable All
   Transitions"), same custom-property pattern as .btn-success/.btn-info above. Doesn't touch
   --ct-primary (the same #727cf5 used for menus/links elsewhere, handled separately via
   --ct-link-color-rgb) or --ct-nav-link-color (handled separately below), only the button
   component's own variables. */
.btn-primary {
  --ct-btn-bg: #5864f3;
  --ct-btn-border-color: #5864f3;
  --ct-btn-hover-bg: #4552f2;
  --ct-btn-hover-border-color: #4552f2;
  --ct-btn-active-bg: #4552f2;
  --ct-btn-active-border-color: #4552f2;
  --ct-btn-disabled-bg: #5864f3;
  --ct-btn-disabled-border-color: #5864f3;
  --ct-btn-focus-shadow-rgb: 88, 100, 243;
  /* Same second-rule ambient-shadow pattern as .btn-success/.btn-info, via --ct-primary-rgb. */
  box-shadow: 0px 2px 6px 0px rgba(88, 100, 243, 0.5) !important;
}

/* was #6973e3, 4.07:1 - app-saas.css .btn-primary --ct-btn-active-bg, consumed via
   .btn.active (bootstrap-toggle plugin's "Workflows Disabled" switch label). Scoped to
   .toggle-off specifically so this doesn't touch the .btn-primary fix above.
   First toggle-off fix (#606ae1) only computed to 4.52:1 - the same razor-thin-margin problem
   as everything else on this page - so darkened further to ~6.3:1, also keeping it visibly
   darker than the plain .btn-primary color above for the "off" state's muted look. */
.btn-primary.toggle-off {
  background-color: #3947f1 !important;
  border-color: #3947f1 !important;
}

/* Bootstrap nav-tabs text color - Login Method Management's "LDAP Login"/"SAML Login" tabs
   (id="metadataTabs") only. Scoped to that specific tab strip's ID, NOT a bare `.nav-tabs
   .nav-link` selector - a first version of this fix was app-wide and broke
   exec_tdm_execute.php's "Data Source"/"Connection Group" tabs, which carry their own scoped
   `.nav-tabs>li>a.datasource`/`.groupconnectiontab` !important color overrides (dark navy bg,
   light gray text) with a LOWER specificity (0,0,2,2) than the bare app-wide rule (0,0,3,0) -
   the app-wide rule was winning the cascade and overriding that page's intentional colors with
   the wrong ones. Scoping by ID here avoids colliding with any other page's own nav-tabs
   styling; extend this list explicitly if another *unstyled* nav-tabs instance is found
   failing, rather than going broad again.
   Two DIFFERENT colors were failing here, on the states you'd least expect:
   - .active was #91989e (2.92:1) - not the vibrant accent one might assume for the
     "selected" tab; app-saas.css's --ct-nav-tabs-link-active-color evidently resolves to
     this muted gray in this theme.
   - :not(.active) was #727cf5 (3.54:1) - the theme's link/primary accent color, since the
     base .nav-link rule falls back to --ct-nav-link-color -> --ct-link-color (the plain hex
     variable, not the --ct-link-color-rgb one already overridden for plain <a> tags - a
     different consumption path, so that earlier fix doesn't reach this element). */
#metadataTabs .nav-link.active {
  color: #6e757c !important;
}
#metadataTabs .nav-link:not(.active) {
  color: #5864f3 !important;
}

/* was #ffc35a, 1.59:1 - app-saas.css .text-bg-warning hardcodes white text unconditionally
   (unlike stock Bootstrap 5.3's auto-contrast pairing), so only the background needs
   darkening here; text stays white. First fix (#a66a00, exactly 4.50:1) measured 4.48:1 in a
   live re-scan - darkened further to land at ~4.65:1 with real headroom. */
.text-bg-warning {
  background-color: #a36800 !important;
}

/* was #0288d1, 3.86:1 on white - DHTMX Scheduler's own CSS ("Today"/"Day"/"Week" buttons).
   First fix (#027dbf, exactly 4.50:1) measured 4.47:1 in a live re-scan - darkened further to
   land at ~4.65:1 with real headroom. Scoped to :not(.active) - the active tab is filled with
   the primary blue and needs white text (DHTMX's own default), not this blue-on-blue text. */
.dhx_cal_today_button:not(.active), .dhx_cal_tab:not(.active) {
  color: #027abc !important;
}

.dhx_cal_tab.active {
  color: #fff !important;
}

/* was #727cf5, 3.55:1 on white - app-saas.css's actual link color rendering reads
   --ct-link-color-rgb (an RGB triplet, via `color: rgba(var(--ct-link-color-rgb), ...)`),
   not the hex --ct-link-color variable of the same name, so that's the one to override.
   Kept scoped to links only, not --ct-primary, which the same theme also sets to #727cf5
   for buttons/menus that don't need this fix. First fix (#5b67f3, exactly 4.50:1) measured
   4.48:1 in a live re-scan - darkened further to land at ~4.65:1 with real headroom. */
:root, [data-bs-theme="light"] {
  --ct-link-color-rgb: 88, 100, 243 !important;
}