﻿:root {
  --free-speech-red: #AE0000;
  --peach-pink: #ff66b3;
}

.overdue-count {
  color: var(--free-speech-red);
}

.bg-bs-orange {
  background-color: var(--bs-orange) !important;
}

.bg-bs-pink {
  background-color: var(--peach-pink) !important;
}

.icon-blue {
  color: var(--bs-blue) !important;
}

.icon-large {
  font-size: 1.3rem;
}

.custom-authentication-bg {
  background-image: url("../images/Haztrack_login_bg_3.jpg");
  background-size: cover;
  background-position: center;
  min-height: 100vh;
}

body.custom-authentication-bg .account-pages {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 100vh;
}

.description-cell div {
  max-height: 100px;
  max-width: 200px; /* Suitable for smaller screens */
  overflow-x: hidden;
}

/* Medium screens */
@media (min-width: 992px) {
  .description-cell div {
    max-width: 300px; /* Optimal for midium screens */
  }
}

/* Large screens */
@media (min-width: 1200px) {
  .description-cell div {
    max-width: 300px; /* Wider for large screens */
  }
}

/* Very large screens */
@media (min-width: 2400px) {
  .description-cell div {
    max-width: 600px; /* Wider for very large screens */
  }
}

.location-cell div {
  max-height: 100px;
  max-width: 200px; /* Suitable for smaller screens */
  overflow-x: hidden;
}

/* Medium screens */
@media (min-width: 992px) {
  .location-cell div {
    max-width: 300px; /* Optimal for midium screens */
  }
}

/* Large screens */
@media (min-width: 1200px) {
  .location-cell div {
    max-width: 300px; /* Wider for large screens */
  }
}

/* Very large screens */
@media (min-width: 2400px) {
  .location-cell div {
    max-width: 600px; /* Wider for very large screens */
  }
}

.hover-icon-container {
  position: relative; /* Ensure the parent is positioned */
  display: flex; /* Use flexbox to center children */
  align-items: center; /* Center children vertically */
  justify-content: center; /* Center children horizontally */
  height: 100%; /* Make sure the container takes up all the available height */
  width: 100%; /* Make sure the container takes up all the available width */
}

  /* This will initially hide the icon but allow for transition effects */
  .hover-icon-container .hover-icon {
    transition: visibility 0s, opacity 0.3s linear;
    visibility: hidden; /* Initially hide the icon */
    opacity: 0; /* Initially make the icon fully transparent */
    width: 100%; /* Make the icon take up all the horizontal space */
    height: 100%; /* Make the icon take up all the vertical space */
    font-size: inherit; /* Inherit the font size from the parent container */
    display: flex; /* Using flex to center the icon inside the <a> */
    align-items: center; /* Center vertically */
    justify-content: center; /* Center horizontally */
  }

.hover-icon .iconify {
  width: 70%; /* Width of icon to fill its container */
  height: 70%; /* Height of icon to fill its container */
  display: block; /* Change display to block to allow width and height */
}

/* This will initially show the text */
.hover-icon-container .default-text {
  transition: visibility 0s, opacity 0.3s linear;
  visibility: visible; /* Initially show the text */
  opacity: 1; /* Initially make the text fully opaque */
  position: absolute; /* Absolute positioning to layer on top of the icon */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* CSS for when the container is hovered over */
.hover-icon-container:hover .hover-icon {
  visibility: visible; /* Show the icon */
  opacity: 1; /* Make the icon fully opaque */
}

.hover-icon-container:hover .default-text {
  visibility: hidden; /* Hide the text */
  opacity: 0; /* Make the text fully transparent */
}

.validation-summary-errors ul {
  list-style-type: none; /* Removes bullet points */
  padding-left: 0; /* Removes the left padding */
}

.validation-summary-errors li {
  margin-bottom: 5px; /* Adds some spacing between messages */
}

.form-control[readonly] {
  background-color: #EEF2F7;
}

  .form-control[readonly]:focus {
    background-color: #EEF2F7;
  }

.vjmap-custom-button {
  background-color: #fff;
  border-radius: 5px;
  font-size: 16px;
  margin-bottom: 5px;
  width: 100%;
  z-index: 20; /* Higher z-index to be on top of the canvas */
}

  .vjmap-custom-button.selected {
    background-color: #C1D0FB;
  }

.vjmap-custom-button-container {
  border: 1px solid #000;
  margin: 7px;
  z-index: 10;
  position: absolute;
  background-color: #fff;
  padding: 10px;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.configuration-item-box {
  position: absolute;
  right: 0; /* Align to the right edge of the modal */
  top: 0px;
  padding: 0px;
  transform: translateX(101%); /* Move it outside the modal */
  width: 500px; /* Adjust as needed */
}

:root .mud-input > input.mud-input-root-outlined {
  padding: 9px 14px !important;
}

.table-total-row {
  background-color: #ddf7ed !important;
}

.table-secondary .table-total-row,
.table-secondary .table-total-row > td {
  background-color: #ddf7ed !important;
}

  /* Style the input field inside the total row */
  .table-secondary .table-total-row input,
  .table-secondary .table-total-row > td input {
    background-color: #ddf7ed !important;
  }

.table-non-total-row {
  background-color: #f2f2f2;
}

.text-inactive .mud-typography,
.text-inactive p.mud-typography-body1 {
  color: #ff2b28 !important;
}

li.mud-treeview-item.parent-node > .mud-treeview-item-content > .mud-treeview-item-checkbox {
  display: none !important;
}

.status-indicator {
  cursor: pointer;
}

.alert-status-box-off {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0px 6px;
  border: 2px solid #8F9BA4;
  border-radius: 4px;
}

.alert-status-box-on {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0px 6px;
  border: 2px solid #dc3545;
  border-radius: 4px;
  background-color: rgba(220, 53, 69, 0.3);
}

.alert-status-box-flash {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0px 6px;
  border: 2px solid #dc3545;
  border-radius: 4px;
  background-color: rgba(220, 53, 69, 0.1);
  animation: blink-red 1.2s infinite;
}

.status-text-on {
  font-size: 14px;
  font-weight: 500;
  color: #dc3545;
}

.status-text-off {
  font-size: 14px;
  font-weight: 500;
  color: #8F9BA4;
}

@keyframes blink-red {
  0%, 100% {
    border-color: #dc3545;
    background-color: rgba(220, 53, 69, 0.1);
  }

  50% {
    border-color: #ff6b7a;
    background-color: rgba(220, 53, 69, 0.3);
  }
}

/* Adjust icon color to match the red theme */
.status-box .noti-icon {
  color: #dc3545;
}

.grid-action-column {
  text-align: center;
  vertical-align: middle;
  padding: 0.5em 1.0em !important;
}

  .grid-action-column a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

    .grid-action-column a svg {
      font-size: 1.4em !important;
    }

.grid-action-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

  .grid-action-item i,
  .grid-action-item svg {
    font-size: 1.4em !important;
  }

/* Used for graph containers to allow user custom resizing */
.resizable-chart-container {
  position: relative;
  border: 2px solid #ddd;
  border-radius: 8px;
  min-width: 300px;
  min-height: 200px;
  width: 100%;
  resize: both;
  overflow: hidden;
  padding: 10px;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

  .resizable-chart-container:hover {
    border-color: #007bff;
  }

  .resizable-chart-container::after {
    content: none;
    position: absolute;
    bottom: 5px;
    right: 5px;
    width: 15px;
    height: 15px;
    background: linear-gradient(-45deg, transparent 40%, #999 40%, #999 50%, transparent 50%, transparent 60%, #999 60%, #999 70%, transparent 70%);
    pointer-events: none;
  }

.apexcharts-menu-open {
  background-color: white !important;
}

.toast {
  background-color: #FFFFFF;
}

.tab-scrollable {
  max-height: 50vh;
  overflow-y: auto;
  overflow-x: hidden;
}

.sticky-header {
  position: sticky;
  top: 0; 
  background-color: white; 
  z-index: 100; 
  padding: 0.5rem 0rem; 
}

.table-dense td,
.table-dense th {
  padding: 0.25rem 0.5rem !important;
  line-height: 1.2;
}

.table-dense {
  font-size: 0.875rem;
}
