/* Dashboard */ 
body {
  font-size: .875rem;
}

.feather {
  width: 16px;
  height: 16px;
  vertical-align: text-bottom;
}

a.nostyle:link, visited, hover, active {
  text-decoration: none;
}


/*
 * Sidebar
 */

.sidebar {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 100; /* Behind the navbar */
  padding: 0;
  box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
}

.sidebar-sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 48px; /* Height of navbar */
  height: calc(100vh - 48px);
  padding-top: .5rem;
  overflow-x: hidden;
  overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
}

.sidebar .nav-link {
	font-size: .75em;
  font-weight: 500;
  color: #333;
}

.sidebar .nav-link .feather {
  margin-right: 4px;
  color: #999;
}

.sidebar .nav-link.active {
  color: #007bff;
}

.sidebar .nav-link:hover .feather,
.sidebar .nav-link.active .feather {
  color: inherit;
}

.sidebar-heading {
  font-size: .75rem;
  text-transform: uppercase;
}

/*
 * Navbar
 */

.navbar-brand {
  padding-top: .75rem;
  padding-bottom: .75rem;
  font-size: 1rem;
  background-color: rgba(0, 0, 0, .25);
  box-shadow: inset -1px 0 0 rgba(0, 0, 0, .25);
}

.navbar .form-control {
  padding: .75rem 1rem;
  border-width: 0;
  border-radius: 0;
}

.nav-tabs .nav-link {
	display: inline-block;
}
#nav-utility.navbar-nav {
	flex-direction: row;
}

.form-control-dark {
  color: #fff;
  background-color: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .1);
}

.form-control-dark:focus {
  border-color: transparent;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .25);
}

#nav-reports, 
#nav-admin {
	display: none;
}

/*
 * Utilities
 */

.border-top { border-top: 1px solid #e5e5e5; }
.border-bottom { border-bottom: 1px solid #e5e5e5; }

/* Footer */ 
footer {
	color: #fff;
}




/* ---------------- */



.open-tools-icon {
  font-size: 30px;
}

.open-reports-icon {
  font-size: 30px;
}

.open-admin-icon {
  font-size: 30px;
}

.lookup-table-headers {
  padding:10px 15px 10px 15px;
  background-color:#EEEEEE;
  border:2px solid white;
}

.lookup-table-data {
  padding:10px 15px 10px 15px;
  border:2px solid white;
}

.pipe-heading {
  color:#ebebeb;
  font-weight:100;
  font-size:30px;
}

.pipe {
  color:#ebebeb;
  font-weight:100;
  font-size:24px;
}

.preview-text {
  font-size:14px;
}

.full-width {
  width:100%;
}
.half-width {
  width:50%;
  vertical-align:top;
}
.half-width2 {
  width:50%;
  vertical-align:top;
}

/* collapsibles */

.collapsible {
  background-color: #eeeeee;
  color: black;
  cursor: pointer;
  padding: 8px; /*18px;*/
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  font-size: 12px;/*15px;*/
  font-weight:bold;
}

.active, .collapsible:hover {
  background-color: #eeeeee;
}

.content {
  padding: 5px; /*0 18px;*/
  display: none;
  overflow: hidden;
  background-color: #ffffff;
}

.table-details {
  background-color:white;
  margin-bottom:40px;
  margin-top:20px;
  margin-left:0px;
}

.td-details-left {
  padding: 2px 20px 2px 20px;

}

.td-details-right {
  padding: 2px 20px 2px 20px;
  text-align:right;
}

.tr-total {
  border-top:1px solid black;
}

.td-total-left {
  padding: 7px 20px 7px 20px;
}

.td-total-right {
  padding: 7px 20px 7px 20px;
  text-align:right;
}

.alignright {
  text-align:right;
}

.aligncenter {
  text-align:center;
}

.nowrap {
  white-space: nowrap;
}

.teal {
  font-size: 10px;
  color: #009688;
}

.sub-text {
  font-size: 10px;
  color: #555555;
  white-space: nowrap;
}

.subject-line {
  font-size: 14px;
  color: #555555;
  font-style: italic;
  white-space: nowrap;
}

.email-icon {
  font-size: 19px;
  color: #555555;
  white-space: nowrap;
}

.campaign_search {
  height:40px;
  line-height:40px;
  width: 70%;
  font-size:15px;
  padding-left:10px;
}

.btn-light.custom-file-control:before,
.btn.btn-light {
  color: #4A5056!important;
  max-width:260px;
}

.bootstrap-select {
  max-width:100%!important;
}


.campaigns-wrapper {
  width:100%; 
  height: calc(100vh - 290px) !important;
  overflow-x: auto; 
  overflow-y: auto;
  box-shadow: 0 0 10px #999999;
}



table.campaigns {
    width: 100%;
    position: relative;
    border-collapse: collapse;
}

/* Sticky header row */
th.campaigns {
    /*white-space: nowrap;*/
    padding: 5px 17px 5px 17px;
    vertical-align: middle;
    background: #D3EDFB;
    position: sticky;
    top: 0;
    z-index: 10; /* Ensure headers stay above content */
}

/* First column header - sticky both ways */
th.campaigns:first-child {
    position: sticky;
    left: 0;
    z-index: 20; /* Higher than other headers */
    background: #D3EDFB; /* Same as other headers */
}

/* Regular data rows */
tr.campaigns {
    border-bottom: 1px solid #c0c0c0;
}

tr.campaigns-totals {
    color: white;
    font-size:20px;
}

/* Regular data cells */
td.campaigns {
    padding: 5px 17px 5px 17px;
    vertical-align: top;
}

/* First column data cells - sticky horizontally */
td.campaigns:first-child {
    position: sticky;
    left: 0;
    background: white; /* Match your table background */
    z-index: 5; /* Above regular content but below headers */
}

/* Totals row styling */
td.campaigns-totals {
    padding: 25px 17px 25px 17px;
    vertical-align: top;
    background: #429488;
}

/* First column in totals row - also sticky */
td.campaigns-totals:first-child {
    position: sticky;
    left: 0;
    background: #429488; /* Match the totals background */
    z-index: 5;
}



/* Ensure the dropdown parent has proper stacking context */
.navbar,
.nav-item.dropdown {
    position: relative !important;
    z-index: 100000 !important;
}

/* Then the dropdown itself */
li.ul.dropdown-menu.show {
    z-index: 100001 !important;
    position: absolute !important;
}


.bootstrap-select .dropdown-menu li a span.text {
  font-size:12px;
}
.green {
  color:#438A59;
  font-size:18px;
  padding-right:15px;  
}
.col_buttons {
  padding:10px 15px 10px 15px;
  /*width:70px;*/
}
.col_buttons_wrapper {
  width:24%;
}