/* MAIN STYLE SHEET */
@import url("reset.css");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");

:root {
  --main-black-color: #333;
  --secondary-black-color: #3d3d3d;
  --info-txt-color: #8a8a8a;
  --main-white-color: #fff;
  --light-grey-color1: #f5f5f5;
  --light-grey-color2: #ababab;
  --button-default-color: #c8c8c8;
  --hover-blue-color: #4aa5eb;
  --button-green-color: #08af16;
  --button-green-hover-color: #0ce21d;
  --button-red-color: #b53737;
  
  /* Brand Colors */
  --brand-color-green: #76B39D;
  --brand-color-light-green: #97C5B4;
  --brand-color-mid-green: #589E85;
  --brand-color-ivory: #F9F8EB;
  --brand-color-black: rgb(19, 19, 19);
}
.brand-background-gradient {
  background: rgb(30,30,30);
  background: linear-gradient(45deg, rgba(30,30,30,1) 0%, rgba(60,60,60,1) 71%);
  /* unused */ /* Not used in any provided HTML or JS */
}
/* REMOVE NUMBER INPUT ARROWS / SPINNERS */
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
  /* unused */ /* Not Used in any provided HTML or JS */ 
}
button {
   color: var(--brand-color-ivory);
   background-color: var(--brand-color-green);
   border: none;
   cursor: pointer;
   outline: none;
   width: 100%;
   height: 50px;
   font-size: 1rem;
   font-weight: 500;
   padding: 10px;
   border-radius: 4px;
   transition: all 0.3s ease-in-out;
}
button:hover {
   background-color: var(--brand-color-light-green);
   color: var(--main-white-color);
}

/* ==================
General Styles 
===================== */
body {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  height: 100dvh;
  overflow: hidden;
  font-family: "Roboto", serif;
  margin: 0;
  padding: 0;
  background-image: url("../images/luke-chesser-3rWagdKBF7U-unsplash.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-attachment: fixed;
}
header {
   display: flex;
   justify-content: center;
   align-items: center;
   padding: 15px;
   width: 100%;
   background-color: #333;
}
/* ====================
Glassmorphism Styles 
====================== */
.glassmorphism {
   background-color: rgba(255, 255, 255, 0.1);
   backdrop-filter: blur(10px);
   border-radius: 10px;
   box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
   -webkit-backdrop-filter: blur(10px);
   border: 1px solid rgba(255, 255, 255, 0.18);
}
.glassmorphism-white {
   background: rgba( 255, 255, 255, 0.25 );
   box-shadow: 0 10px 32px 0 rgba( 31, 38, 135, 0.37 );
   backdrop-filter: blur( 8px );
   -webkit-backdrop-filter: blur( 8px );
   border-radius: 10px;
   border: 1px solid rgba( 255, 255, 255, 0.18 );
}
.glassmorphism-black {
   background: rgba( 51, 51, 51, 0.25 );
   box-shadow: 0 10px 32px 0 rgba( 31, 38, 135, 0.37 );
   backdrop-filter: blur( 8px );
   -webkit-backdrop-filter: blur( 8px );
   border-radius: 10px;
   border: 1px solid rgba( 255, 255, 255, 0.18 );
}
/* Glassmorphism Styles End */
.bkground-image {
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   filter: brightness(0.7);
   z-index: -1;
}
/* ==================
LOGIN PAGE STYLE 
===================== */
.container {
   display: flex;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
   gap: 15px;
   padding: 50px;
   width: 100%;
   height: 100%;
}
.logo-container {
   width: 100%;
   max-width: 225px;
   height: auto;
}
.logo-wrapper {
   display: flex;
    justify-content: center;
    align-items: center;
}
.logo-wrapper .logo {
   width: 400px;
   padding: 15px;
   border-radius: 8px;
   box-shadow: 0 10px 15px rgba(0, 0, 0, 0.4);
   -webkit-box-shadow: 0 10px 15px rgba(0, 0, 0, 0.4);
   -moz-box-shadow: 0 10px 15px rgba(0, 0, 0, 0.4);
}
.login-wrapper {
   display: flex;
   justify-content: space-evenly;
   align-items: normal;
   width: 100%;
   max-width: 1000px;
}
.form-container {
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   width: 40%;
   max-width: 650px;
   height: auto;
   padding: 20px;
   border-radius: 10px;
   box-shadow: 0 10px 10px rgba(0, 0, 0, 0.3);
}
.login-form-header-wrapper {
   width: calc(100% + 28px);
   position: relative;
   top: -14px;
   padding: 20px;
   background-color: rgba(51, 51, 51, 0.6);
   border-radius: 7px 7px 0 0;
}
.penske-form-header-wrapper {
   top: -117px;
   /* unused */ /* Not used in penske_form.html or other files */
}
.login-form-header-wrapper h2 {
   padding: 0 20px;
   text-align: center;
   font-weight: 400;
   font-size: 1.5rem;
   color: var(--brand-color-green);
}
.login-wrapper #login-form .form-control label {
   color: var(--main-white-color);
   font-size: 1rem;
   font-weight: 600;
   display: none;
}
.login-wrapper #login-form .form-control input {
   width: 100%;
   height: 40px;
   padding: 8px;
   border-radius: 4px;
   box-sizing: border-box;
   margin-bottom: 15px;
   font-size: 1.1rem;
   font-weight: 500;
   border: 1px solid var(--main-white-color);
   outline: none;
   transition: all 0.2s ease-in-out;
}
.login-wrapper #login-form .form-control input::placeholder {
   color: var(--info-txt-color);
   font-size: 1rem;
   font-weight: 500;
}
.login-wrapper #login-form .form-control input:focus::placeholder {
   color: var(--info-txt-color);
   font-size: 1rem;
   font-weight: 500;
}
.login-wrapper #login-form .form-control input:focus {
   border: 3px solid var(--brand-color-green);   
   box-shadow: 0px 7px 10px 4px rgb(0 0 0 / 37%);
   transition: all 0.2s ease-in-out;
}
/* .login-wrapper #login-form .form-control input:valid {
   border-color: var(--hover-blue-color);
}*/ /* unused */ /* Not used as no form validation styles are applied in login-screen.html */
.login-wrapper #login-form .form-control input:invalid {
   border-color: var(--button-red-color);
}

.login-wrapper #login-form .form-control button {
   width: 100%;
   padding: 10px 20px;
}
.btn-wrapper {
   display: flex;
   justify-content: center;
   align-items: center;
   margin: 15px 0px;
   padding: 15px;
   gap: 15px;
}
.dashboard-col-1-wrapper .btn-wrapper {
   justify-content: flex-start;
   gap: 12px;
   padding: 0;
   margin: 0 0 20px 0;
   flex-wrap: wrap;
}

.dashboard-col-1-wrapper .btn-wrapper button {
   width: auto;
   min-width: 200px;
   height: 48px;
}

#associate-login-btn {
   width: 100%;
   padding: 10px;
   background-color: var(--button-default-color);
   color: var(--brand-color-green);
   font-size: 1.2rem;
   font-weight: 500;
   border: none;
   cursor: pointer;
   border-radius: 4px;
   transition: background 0.3s ease-in-out;
}
#associate-login-btn:hover {
   background-color: var(--hover-blue-color);
   color: var(--main-white-color);
}
.login-register-txt {
   font-size: 1rem;
   color: var(--main-white-color);
   margin-top: 10px;
   text-align: center;
}
.login-register-txt a {
   color: var(--brand-color-green);
   text-decoration: none;
   font-weight: 500;
}
#penske-login-btn {
   width: 271px;
   padding: 10px 20px;
   font-size: 1.2rem;
   font-weight: 500;
   background-color: var(--button-default-color);
   color: var(--brand-color-green);
   border: none;
   cursor: pointer;
   border-radius: 4px;
   transition: all 0.3s ease-in-out;
}
#penske-login-btn i {
   margin-right: 10px;
}
#penske-login-btn:hover {
   background-color: var(--hover-blue-color);
   color: var(--main-white-color);
}

/* ========================
 PENSKE FORM PAGE STYLES 
 ========================= */
.penske-form-bkground-image {
   background-image: url("../images/penske-truck-bg.webp");
   background-size: cover;
   background-position:left;
   background-repeat: no-repeat;
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   filter: brightness(0.7);
   z-index: -1;
}
#penske-form {
   width: 100%;
   height: 80dvh;
   max-width: 650px;
   min-width: 300px;
   padding: 20px 15px 20px 0px;
   overflow: hidden;
   overflow-y: scroll;
}
#penske-form::-webkit-scrollbar/* width */{
  width: 4px;
}
/* Track */
::-webkit-scrollbar-track {
  background: #8a8a8a; 
}
/* Handle */
::-webkit-scrollbar-thumb {
  background: #3d3d3d; 
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: var(--brand-color-mid-green); 
}
#penske-form fieldset {
   margin-bottom: 15px;
}
#penske-form legend {
   font-size: 1.2rem;
   font-weight: 400;
   color: var(--brand-color-green);
}
#penske-form label {
   color: var(--main-white-color);
   font-size: 1rem;
   font-weight: 400;
   display: block;
   margin-bottom: 5px;
}
#penske-form input[type="text"],
#penske-form input[type="select"],
#penske-form input[type="number"],
#penske-form input[type="date"],
#penske-form input[type="time"] {
   width: 100%;
   height: 40px;
   padding: 8px;
   font-size: 1.1rem;
   font-weight: 500;
   border: 1px solid var(--main-white-color);
   border-radius: 4px;
   box-sizing: border-box;
   outline: none;
   transition: all 0.2s ease-in-out;
}
#penske-form input:focus {
   border: 3px solid var(--brand-color-green);   
   box-shadow: 0px 7px 10px 4px rgb(0 0 0 / 37%);
   transition: all 0.2s ease-in-out;
}
#penske-form input:focus-visible {
   border: 3px solid var(--brand-color-green);   
   box-shadow: 0px 7px 10px 4px rgb(0 0 0 / 37%);
   transition: all 0.2s ease-in-out;
}
#penske-submit-btn {
   width: 100%;
   padding: 10px 20px;
   margin-top: 20px;
   font-size: 1.2rem;
   font-weight: 500;
   background-color: var(--button-default-color);
   color: var(--brand-color-green);
   border: none;
   cursor: pointer;
   border-radius: 4px;
   transition: all 0.3s ease-in-out;
}
#penske-submit-btn:hover {
   background-color: var(--brand-color-mid-green);
   color: var(--main-white-color);
}
/* PENSKE FORM PAGE STYLES END */

header .page-title {
  /* width: calc(100% - 200px); */ /* unused */ /* Not used as width is not necessary with flex centering */
  color: #fff;
  /* padding: 20px; */ /* unused */ /* Not used as padding is set at line 45 */
  text-align: center;
}
header .page-title h1 {
   font-size: 1.5rem;
}
#overlay {
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0,0,0,0.5);
  z-index: 2;
  cursor: pointer;
}
#main-content-section {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
  
  /* background-image: url("../images/content_20hub_b3acc06c-cbe6-45c9-b30b-c924ec633d2f.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; */
  overflow: hidden;
  /* filter: brightness(0.7); */
}

/* ===========================
Scroll-to-top button styling 
============================== */
#scrollToTopButton {
   display: flex;
   justify-content: center;
   align-items: center;
   position: fixed;
   bottom: 50px;
   right: 20px;
   border-radius: 50px;
   border: solid 1px var(--light-grey-color1);
   width: fit-content;
   height: auto;
   padding: 10px;
   font-size: 20px;
   color: var(--light-grey-color1);
   background-color: var(--brand-color-mid-green);
   cursor: pointer;
   box-shadow: 0 10px 10px rgba(0, 0, 0, 0.3);
   -webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.3);
   -moz-box-shadow: 0 10px 10px rgba(0, 0, 0,0.3);
   opacity: 0;
   visibility: hidden;
   transition: opacity 0.5s ease, visibility 0.5s ease;
 }
 
 /* Class added when button should be visible */
   #scrollToTopButton.show {
   opacity: 1;
   visibility: visible;
   }

/* =================
Side Menu Styles 
==================== */
#menu-collapse-btn {
   display: flex;
   justify-content: center;
   align-items: center ;
   color: #fff;
   position: relative;
   top: 0;
   left: calc(100% - 34px);
   width: 36px;
   height: 36px;
   background-color: transparent;
   cursor:e-resize;
   z-index: 10;
   transition: all 0.3s ease-in-out;
}
#menu-collapse-btn:hover {
   color: var(--brand-color-light-green);
}
.side-menu-btn-open-state {
   animation: side-menu-btn-animation 0.3s ease-in-out forwards;
}
@keyframes side-menu-btn-animation {
   from {
      rotate: 0deg;
      /* width: 0%; */
   }
   to {
      rotate: 90deg;
      /* width: 100%; */
   }
}

#side-nav-container {
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
   flex-direction: column; 
  position: relative;
  left: 15px;
  border-radius: 8px;
  padding: 10px;
  width: 100%;
  max-width: 200px;
  z-index: 1500;
  /* background-color: var(--secondary-black-color); */
  transition: width 0.3s ease-in-out;  /* animate the width change */
  /* overflow: hidden; /* unused */ /* Not necessary as overflow is handled by main-content-container */
  /* overflow-y: auto; /* unused */ /* Not necessary as above */
}

.side-menu {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.side-menu-item {
   display: flex;
   justify-content: flex-start;
   align-items: center;
   gap: 10px;
   position: relative;
   padding: 5px;
   height: 70px;
   line-height: 1.5;
   color: var(--main-white-color);
   transition: all 0.3s ease; /* so it can animate gracefully */
   cursor: pointer;
}
/* When collapsed, center the items */
/* .side-nav-container-collapsed .side-menu-item {
   justify-content: center;
 } */ /* unused */ /* Not used as alignment is handled by JS toggle */
/* .side-menu-item:after {
   position: absolute;
   right: 0;
   content: "";
   bottom: 0;
   width: 0%;
   height: 3px;
   background-color: #8ec6f0;
} */
.side-menu-item:hover {
   color: var(--brand-color-light-green);
}
/* Menu item underline border styling */
/* .side-menu-item:hover:after {
   width: 100%;
   animation: side-menu-item-animation 0.3s ease-in-out forwards;
} */
.side-menu-item-active {
   color: var(--brand-color-green);
}
/* Menu item underline border animation */
/* @keyframes side-menu-item-animation {
   from {
      width: 0%;
   }
   to {
      width: 50%;
   }
} */

/* The text elements */
.side-menu-txt {
   display: inline-block;
   /* margin-left: 10px; */
   margin-left: 0;
   transition: opacity 0.3s ease; /* fade in/out */
   opacity: 1;
}
/* Apply this style to collapse the side menu */
.side-nav-container-collapsed {
   width: 55px !important;
   border-radius: 50px !important;
   transition: all 0.3s ease-in-out; /* so it can animate gracefully */
}
.side-nav-container-collapsed .side-menu-item {
   pointer-events: none;
   justify-content: center;
}
.side-nav-container-collapsed .side-menu-txt {
   opacity: 0;
   pointer-events: none; /* prevents accidental hovers/clicks on hidden text */
}
.side-nav-container-collapsed .side-menu-item-icon-wrapper {
   pointer-events: auto;
   cursor: pointer;
}

.side-menu-item-icon-wrapper {
  font-size: 22px;
  /* padding-right: 15px; */
  padding-right: 0;
  transition: padding-right 0.3s ease;
}
.side-nav-container-collapsed .side-menu-item-icon-wrapper {
   padding-right: 0;
}

.side-menu-item-icon-wrapper {
   /* Ensure position relative so tooltip is placed correctly */
   position: relative;
   display: inline-block; /* So we can position the tooltip via ::after */
 }
 .side-menu-item:nth-child(2) > .side-menu-item-icon-wrapper {
   padding-left: 3px;
 }
 
 /* Base tooltip (hidden by default) */
 .side-menu-item-icon-wrapper::after {
   content: "";
   position: absolute;
   opacity: 0;
   visibility: hidden;
   transition: opacity 0.2s ease;
   background-color: rgba(0, 0, 0, 0.8); /* black w/ some transparency */
   color: #fff;
   padding: 4px 8px;
   font-size: 0.8rem;
   border-radius: 4px;
   white-space: nowrap;
   pointer-events: none; /* Don’t block cursor events */
   /* transform: translateX(-50%); */ /* unused */ /* Not necessary for tooltip positioning */
   bottom: 10%; /* Position above the icon */
   left: 135%;    /* Center horizontally under icon */
   z-index: 5000;
 }
 
 /* Show tooltip ONLY when side nav is collapsed */
 .side-nav-container-collapsed .side-menu-item-icon-wrapper:hover::after {
   /* Display the text from data-tooltip attribute */
   content: attr(data-tooltip);
   opacity: 1;
   visibility: visible;
   z-index: 5001;
 }

/* Main Content Styles */
#main-content-container {
   display: flex;
   justify-content: center;
   align-items: flex-start;
   width: 100%;
   /* background-color: var(--light-grey-color1); */
   padding: 20px;
   overflow-y: scroll;
   overflow-x: hidden;
}
/* DASHBOARD STYLING START */
#dashboard-header-container,#dashboard-weather-container,#alerts-container, #main-dashboard-content-container{
   width: 100%;
   padding: 20px;
   margin-bottom: 20px;
}
#dashboard-container {
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
   width: 100%;
   max-width: 80%;
   margin: 0 auto;
}
#dashboard-header-container .title-wrapper {
   width: 100%;
}
#dashboard-header-container .title-wrapper h2 {
   width: 100%;
   text-align: left;
   color: var(--brand-color-green);
}

/* WEATHER STYLING START */
#weather-header-wrapper {
   margin-bottom: 10px;
}
#weather-header-wrapper .weather-title {
   color: var(--light-grey-color1);
   font-weight: 600;
}
#weather-header-wrapper .weather-title .current-weather-date-txt {
   color: var(--brand-color-green);
}
.weather-days-container {
   display: flex;
   justify-content: space-between;
   align-items: baseline;
   gap: 15px;
   width: 100%;
}
/* Global weather styling for both current and forecast cards */
.weather-info-wrapper {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 10px;
   flex-wrap: wrap;
   color: var(--light-grey-color1);
}
/* Current weather card styling */
.current-weather-card {
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   width: 200px;
   padding: 5px;
   border: 1px solid var(--light-grey-color2);
   border-radius: 4px;
}
.current-weather-card .current-day {
   font-weight: 600;
   font-size: 1.2rem;
   margin-bottom: 10px;
   color: var(--brand-color-mid-green);
}
.current-weather-card .weather-icon-wrapper {
   display: flex;
   justify-content: space-evenly;
   align-items: center;
   flex-wrap: wrap;
   width: 100%;
}
.current-weather-card .weather-icon-wrapper .weather-icon {
   width: 100%;
   max-width: 50px;
   height: auto;
}
.current-weather-card .weather-icon-wrapper .current-temp {
   font-weight: 600;
   font-size: 2rem;
}
.current-weather-card .weather-temp-wrapper {
   width: 100%;
   text-align: center;
}
.current-weather-card .weather-temp-wrapper .current-hi-txt,.current-lo-txt {
   font-size: 0.9rem;
   font-weight: 500;
   color: var(--brand-color-ivory);
}
.current-weather-card .weather-icon-wrapper .weather-description {
   flex-grow: 1;
   font-weight: 500;
   text-align: center;
}

/* Future weather cards styling */
.weather-days-wrapper {
   display: flex;
   justify-content: flex-start;
   align-items: center;
   gap: 15px;
   width: 100%;
}
.weather-days-wrapper .weather-days-card {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   text-align: center;
   padding: 10px;
   border: 1px solid var(--light-grey-color2);
   border-radius: 4px;
   gap: 10px;
}
.weather-days-wrapper .weather-days-card .weather-info-wrapper {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 8px;
   width: 100%;
}
.weather-days-wrapper .weather-days-card .weather-day-date {
   display: flex;
   justify-content: center;
   width: 100%;
}
.date {
   font-weight: 500;
   color: var(--brand-color-green);
}
.weather-days-card .weather-icon-wrapper .weather-icon {
   width: 100%;
   max-width: 35px;
   height: auto;
}
.weather-days-card .weather-temps-wrapper {
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   width: 100%;
}
/* .weather-temp-wrapper .current-temp {
   font-weight: 600;
   font-size: 1.6rem;
} */ /* unused */ /* Not used as .current-temp is only in current-weather-card */
.weather-summary {
   display: none;
   flex-grow: 1;
   text-align: center;
   /* unused */ /* Not used in dash-board.html or generated content */
}

/* ALERTS SECTION STYLING  */

.alerts-header-wrapper > h3 {
   color: var(--brand-color-green);
   font-weight: 600;
   margin-bottom: 10px;
}
.alert-card {
   /* border: 1px solid var(--light-grey-color1); */
   border-radius: 4px;
   padding: 10px;
   margin-bottom: 10px;
   margin-top: 10px;
   background-color: var(--main-white-color);
   /* box-shadow: rgba(167, 167, 167, 0.75) 0px 5px 10px -1px; */
}

.alert-button-wrapper .alert-btn-yardcheck,
.alert-button-wrapper .alert-btn-inspection {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   padding: 8px 14px;
   border: none;
   border-radius: 4px;
   background-color: var(--brand-color-green);
   color: #ffffff;
   font-weight: 600;
   cursor: pointer;
   transition: background-color 0.2s ease-in-out;
}

.alert-button-wrapper .alert-btn-yardcheck:hover,
.alert-button-wrapper .alert-btn-yardcheck:focus,
.alert-button-wrapper .alert-btn-inspection:hover,
.alert-button-wrapper .alert-btn-inspection:focus {
   background-color: var(--brand-color-mid-green);
   outline: none;
}
.alert-title {
   font-weight: 500;
   font-size: 1rem;
   color: var(--button-red-color);
}
/* .alert-card .alert-card-header {
   display: flex;
   justify-content: space-between;
   align-items: center; 
} */

/* ---- DASHBOARD MAIN CONTENT STYLING ---- */

#main-dashboard-content-container {
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   height: auto;
   flex-wrap: wrap;
   gap: 20px;
}
.dashboard-col-1-wrapper {
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   width: 100%;
}
/* END DASHBOARD STYLING */

#submitted-yard-checks,#equipment-stats,#equipment-management,#pickup-truck-inspection {
   background-color: var(--main-white-color);
   height: auto;
   padding: 20px;
   border-radius: 4px;
   border: 1px solid var(--light-grey-color1);
   box-shadow: rgba(167, 167, 167, 0.75) 0px 5px 10px -1px;
}
/* Header styling for each section */
.content-section-container > h2 {
   width: 100%;
   text-align: left;
   color: var(--brand-color-green);
   margin-bottom: 15px;
}
#submitted-yard-checks {
   width: 80%;
}
#equipment-stats {
   width: 80%;
}

/* Form Styles */
#lg-equipment-yard-check-form {
   width: 100%;
   max-width: 650px;
   min-width: 300px;
   padding: 20px;
   border: 1px solid var(--light-grey-color1);
   border-radius: 8px;
   box-shadow: 0px 5px 10px -1px rgba(167, 167, 167, 0.75);
   -webkit-box-shadow: 0px 5px 10px -1px rgba(167, 167, 167, 0.75);
   -moz-box-shadow: 0px 5px 10px -1px rgba(167, 167, 167, 0.75);
   background-color: var(--main-white-color);
}

.form-title-wrapper {
   position: relative;
   width: calc(100% + 40px);
   top: -20px;
   left: -20px;
}

.yard-check-form-title {
   text-align: left;
   background-color: var(--brand-color-green);
   border-radius: 8px 8px 0 0;
   padding: 20px;
   color: var(--light-grey-color1); 
   font-size: 1.5rem;
   font-weight: 500;
}

.date-time-title {
   padding: 5px 20px;
   font-size: 1rem;
   font-weight: 500;
   color: #666;
}

.form-wrapper {
  margin-top: 20px;
}

/* .form-control-yard-check {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 15px;
  padding: 10px 20px;
} */ /* unused */ /* Not used as .form-control-yard-check is not in any HTML or JS */

.form-control {
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
   flex-wrap: wrap;
   gap: 15px;
   /* margin-bottom: 15px; */ /* unused */ /* Not necessary as margin is set per context */
   padding: 10px 20px;
}

.form-control label {
  display: block;
  width: 100%;
  margin-bottom: 5px;
}

.form-control input,
.form-control select {
   width: 100%;
   height: 40px;
   padding: 8px;
   border-radius: 4px;
   box-sizing: border-box;
}

.button-wrapper {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 15px;
   margin: 30px 0 15px 0;
}

#submit-button-ydchk {
   width: 100%;
   /* font-size: 1.4rem; */
   font-weight: 500;
   background: var(--brand-color-green);
   color: var(--brand-color-ivory);
   border: none;
   padding: 10px 20px;
   cursor: pointer;
   border-radius: 4px;
   transition: background 0.3s ease-in-out;
}
#submit-button-ydchk:hover {
   background: var(--button-green-color);
   color: #fff;
}

/* Equipment List Styles */
/* For Yard Check Form */
#user-name {
   text-transform: capitalize; /*User name input */
}
.equipment-list > .form-control {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   flex-direction: column;
   gap: 15px;
   border: 1px solid #ccc;
   border-radius: 4px;
   padding: 15px;
   margin-bottom: 18px;
   background-color: var(--main-white-color);
   box-shadow: 0px 5px 10px -1px rgba(167, 167, 167, 0.75);
   -webkit-box-shadow: 0px 5px 10px -1px rgba(167, 167, 167, 0.75);
   -moz-box-shadow: 0px 5px 10px -1px rgba(167, 167, 167, 0.75);
}
.equipment-list > .form-control:nth-last-child(1) {
   margin-bottom: 0px;
}
.img-eq-info-wrapper {
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
   flex-wrap: wrap;
   gap: 20px;
}
/* Equipment Image Styles */
.equipment-image-wrapper {
   width: 100%;
   max-width: 150px;
   height: auto;
   border: solid 1px transparent;
   overflow: hidden;
}
.equipment-image {
   max-width: 150px;
   width: 100%;
   height: 100%;
   border: 1.5px solid var(--light-grey-color2);
   border-radius: 8px;
}
.eq-info-wrapper {
   width: 100%;
   max-width: 200px;
   height: 100%;
}
.rental-id-label {
   color: var(--info-txt-color);
   font-weight: bold;
}
.rental-id-num {
   color: #333;
   font-weight: 600;
}
.equipment-name {
  font-weight: bold;
}
.equipment-name::before {
  content: "Description: ";
  font-weight: 600;
  color: var(--info-txt-color);
}
.equipment-info {
  margin-left: 20px;
  font-size: 1em;
}
#check-date,#user-name,#check-time {
   width: 300px;
}
#lg-equipment-yard-check-form .form-wrapper > .form-control:nth-child(1) {
   flex-direction: column;
   gap: 0;
   padding: 15px 0;
}
#lg-equipment-yard-check-form .form-wrapper > .form-control:nth-child(2) {
   flex-direction: column;
   gap: 0;
   padding: 15px 0;
}
#lg-equipment-yard-check-form .form-wrapper > .form-control:nth-child(3) {
   flex-direction: column;
   gap: 0;
   padding: 15px 0;
   margin-bottom: 25px;
}
.option-wrapper {
   width: 100%;
} 
.option-wrapper .status-label {
   position: relative;
   margin-bottom: 25px;
   font-weight: 600;
   font-size: 1.05rem;
   color: var(--info-txt-color);
}
.option-wrapper .status-label::after {
   content: "";
   position: absolute;
   top: 26px;
   left: 0;
   border-top: solid 1.6px #c8c8c8;
   width: 100%;
   height: 0px;
}
.radio-btn-group-wrapper {
   display: flex;
   justify-content: space-around;
   align-items: center;
   margin-bottom: 10px;
}
.radio-option {
   text-align: center;
}
.radio-option input[type="radio"] {
   width: 24px;
   height: 24px;
   cursor: pointer;
}
.radio-option label {
   font-size: 1rem;
   font-weight: 600;
   color: var(--secondary-black-color);
}

/* Message Container */
#message-container .message {
  background-color: #ffdddd;
  color: #a94442;
  padding: 10px;
  margin-bottom: 15px;
}

#message-container .message button {
  margin-top: 10px;
}

/* EQUIPMENT STATS SECTION STYLING START */
#custom-date-range-wrapper {
   display: flex;
   justify-content: flex-start;
   align-items: center;
   flex-wrap: wrap;
}
#custom-date-range-wrapper > .form-control > label,input {
   max-width: max-content;
   padding: 10px 40px;
}
#eq-stats-filter-btn {
   max-width: max-content;
}

/* EQUIPMENT MANAGEMENT STYLES START */
#equipment-management {
   width: 100%;
   max-width: 650px; 
   min-width: 200px;
}
/* #equipment-management h2 {
   width: 100%;
   text-align: left;
   color: var(--brand-color-mid-green);
   margin-bottom: 15px;
} */ /* duplicate-redundant code (repeats at line 534 for .content-section-container h2) */
/* Tab Buttons */
.tab-buttons-wrapper {
   display: flex;
   justify-content: space-between;
   align-items: center;
   /* flex-wrap: wrap; */
   gap: 15px;
   width: 100%;
   margin: 20px 0px 25px 0px;
}
.tab-button {
   display: flex;
   justify-content: center;
   align-items: center;
   font-size: 1rem;
   height: 60px;
   min-height: auto;
   padding: 10px 20px;
   background-color: var(--button-default-color);
   border: 1px solid var(--light-grey-color2);
   border-radius: 4px;
   cursor: pointer;
   transition: all 0.3s ease-in-out;
}

.tab-button:hover {
   background-color: var(--hover-blue-color);
   color: #fff;
}

.tab-button.tab-active {
   background-color: var(--hover-blue-color);
   color: #fff;
}

/* Tab Content */
.tab-content {
   display: block;
   width: 100%; /* Control actual visibility with inline styles or JS */
}
#active-equipment-list {
   width: 100%;
   min-width: 200px;
}
#active-equipment-list .equipment-item,
#deactivated-equipment-list .equipment-item {
   display: flex;
   justify-content: flex-start;
   flex-wrap: wrap;
   gap: 15px;
   width: 100%;
   max-width: 610px;
   border: 1px solid #ccc;
   border-radius: 4px;
   padding: 15px;
   margin-bottom: 10px;
   box-shadow: 0px 5px 10px -1px rgba(167,167,167,0.75);
   -webkit-box-shadow: 0px 5px 10px -1px rgba(167,167,167,0.75);
   -moz-box-shadow: 0px 5px 10px -1px rgba(167,167,167,0.75);
   cursor: default;
   /* Adjust equipment-item to display images properly */
   overflow: hidden; /* Ensure content doesn't overflow */
}
#active-equipment-list .equipment-item {
   position: relative;
   padding-left: 40px;
}

/* Draggable items styles */
.drag-handle {
   position: absolute;
   top: 0;
   left: 0;
   height: 100%;
   display: flex;
   align-items: center;
   padding: 0 8px;
   color: #999;
   cursor: grab;
   font-size: 20px;
   background-color: #eee;
}

.drag-handle:active {
    cursor: grabbing;
}
.drag-handle i {
   position: relative;
}

.drag-handle i::after {
   content: "";
   position: absolute;
   opacity: 0;
   visibility: hidden;
   transition: opacity 0.2s ease;
   background-color: rgba(0, 0, 0, 0.8);
   color: #fff;
   padding: 8px;
   font-size: 0.8rem;
   font-weight: 400;
   font-family: 'Roboto', sans-serif;
   border-radius: 4px;
   white-space: nowrap;
   pointer-events: none;
   bottom: -33px;
   left: 0;
   z-index: 5000;
}

.drag-handle i:hover::after {
   content: attr(data-tooltip);
   opacity: 1;
   visibility: visible;
}


/* Sortable styles */
.sortable-ghost {
    opacity: 0.8;
    filter: blur(3px);
    /* background-color: var(--hover-blue-color) !important;
    border-color: #8ec6f0; */
    transition: all 0.3s ease;
}

.sortable-drag {
    opacity: 0.9;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* Hide drag handle in deactivated equipment list */
#deactivated-equipment-list .drag-handle {
    display: none;
} 

.equipment-info-container {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   width: 100%;
   max-width: 380px;
}
.equipment-txt-wrapper {
   width: 100%;
   max-width: 200px;
   /* min-width: 230px; */
}
.equipment-rates-wrapper {
   width: 100%;
   max-width: 200px;
}
.equipment-txt-wrapper > p {
   font-weight: 600;
   color: var(--info-txt-color);
}
.rental-rates-list {
   padding-left: 20px;
}

.eq-list-id-num-txt,
.eq-list-name-txt,
.eq-list-manufacturer-txt,
.eq-list-model-txt {
   color: var(--secondary-black-color)
}
#equipment-form .form-control {
  margin-bottom: 15px;
}

.equipment-button-wrapper {
   display: flex;
   justify-content: flex-end;
   align-items: center;
   flex-wrap: nowrap;
   gap: 30px;
   width: 100%;
   border-top: solid 1px var(--light-grey-color1);
   padding: 15px 0px;
}

.equipment-edit-button, .equipment-delete-button {
   padding: 10px 20px;
   color: #f6f6f6;
   /* font-size: 1.2rem; */
   font-weight: 500;
   width: 100%;
   /* border: solid 1px var(--light-grey-color2); */
   border-radius: 4px;
   background-color: var(--button-default-color);
   cursor: pointer;
   transition: all 0.3s ease-in-out;
}
.eq-list-btn-icon {
   margin-right: 10px;
}
.equipment-edit-button:hover {
   background-color: var(--hover-blue-color);
}
.equipment-delete-button:hover {
   background-color: var(--button-red-color);
}
.equipment-reactivate-button {
   padding: 10px 20px;
   color: #f6f6f6;
   font-size: 1.2rem;
   font-weight: 500;
   width: 100%;
   border: solid 1px var(--light-grey-color2);
   border-radius: 4px;
   background-color: var(--button-green-color);
   cursor: pointer;
   transition: all 0.3s ease-in-out;
}

.equipment-reactivate-button:hover {
   background-color: var(--button-green-hover-color);
}
 
#equipment-form label {
  display: block;
  margin-bottom: 5px;
}

#equipment-form input {
  width: 100%;
  padding: 8px;
  box-sizing: border-box;
}

/* Form Header Styles */
.form-header {
   display: flex;
   justify-content: space-between;
   align-items: center;
   background-color: #535353; /* var(--main-black-color) */
   padding: 20px;
   /* width: 100%; */ /* unused */ /* Not necessary as flexbox handles width */
}

.form-header h3 {
  color: #fff; /* var(--main-white-color) */
  margin: 0;
}

/* Equipment Form Styles */
#equipment-form {
  position: absolute;
  right: 20px;
  top: 20px;
  width: 450px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  overflow: auto;
  opacity: 0;
  transform: translateX(100%);
  transition: all 0.5s ease;
  z-index: 10;
}
#equipment-form .close-btn-form {
   width: max-content;
   height: auto;
   font-size: 1.2rem;
   font-weight: 400;;
   padding: 5px;
   background-color: transparent;
}
#equipment-form .close-btn-form:hover {
   color: var(--button-red-color);
}
/* Show the form with animation */
#equipment-form.show {
  opacity: 1;
  transform: translateX(0);
}

/* Button Wrapper Styles */
#equipment-form .button-wrapper, #pro-truck-inspection-form .button-wrapper {
  padding: 10px 20px;
}

/* #equipment-form .button-wrapper button {
  margin-left: 10px;
} */

/* Adjust Equipment Management Section */
/* #equipment-management { */
  /* position: relative; */ /* unused */ /* Not necessary as position is handled by parent */
  /* height: 100%; */ /* unused */ /* Not necessary as height is set to auto */
  /* overflow: hidden; */ /* unused */ /* Not necessary as overflow is handled by main-content-container */
/* } */

/* Submitted Yard Checks Styles */
/* #submitted-yard-checks h2 {
  text-align: center;
} */ /* duplicate-redundant code (repeats at line 534 for .content-section-container h2) */
.date-filter-section {
   display: flex;
   justify-content: flex-start;
   align-items: center;
   gap: 10px;
}
.date-filter-section > .form-control {
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   max-width: fit-content;
}
.date-filter-section > .form-control > label {
   width: max-content;
}
#filter-start-date,#filter-end-date {
   width: auto;
}
#date-range-filter-btn {
   width: fit-content;
   padding: 0 40px;
}
.pagination-wrapper {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 15px;
   margin-top: 20px;
   margin-bottom: 20px;
}
.pagination-wrapper > button {
   width: 300px;
}
/* #submitted-yard-checks button {
  margin-bottom: 20px;
} */ /* unused */ /* Not used as buttons are styled in .button-wrapper */

.yard-check-card {
  border-bottom: 3px solid var(--hover-blue-color);
  border-bottom-style: double;
  padding: 15px;
  margin-bottom: 20px;
}

.yard-check-card h3 {
  margin-top: 0;
}

.yard-check-card .card-content {
  display: flex;
  justify-content: space-between;
}
/* Ensure that the card-content displays columns properly */
 .card-content {
   display: flex;
   flex-direction: column; /* Change to column layout */
   gap: 20px; /* Add gap between columns */
 }
/* Update card-column styles */
.card-column {
   padding: 15px;
   border-radius: 4px;
   border: 1.5px solid var(--light-grey-color1);
   background-color: var(--main-white-color);
   filter: drop-shadow(0px 4px 3px var(--light-grey-color2));
   margin-bottom: 20px; /* Add margin to separate cards */
 }
 .card-col-title-wrapper {
   display: flex;
   justify-content: flex-start;
   align-items: center;
   flex-wrap: wrap;
   border-bottom: 1.8px solid #c8c8c8;   
   margin-bottom: 20px;
 }
 .card-col-title-wrapper .ampm-txt {
   font-size: 1.2rem;
   font-weight: 500;
   margin-right: 5px;
 }
 .card-col-title-wrapper .user-name-txt {
   font-size: 1.1rem;
   font-weight: 400;
 }
 .card-col-title-wrapper .user-name-txt-data {
   color: var(--brand-color-mid-green);
   font-weight: 500;
 }
 .card-col-content-block > p {
   font-size: 1rem;
   font-weight: 600;
   color: var(--secondary-black-color);
 }
 /* Match any class ending in “-num-data” under that parent */
.card-col-content-block .available-num-data {
  font-size: 2rem;
  color: var(--button-green-color);
}
.card-col-content-block .rented-out-num-data {
  font-size: 2rem;
  color: var(--hover-blue-color);
}
.card-col-content-block .out-of-service-num-data {
  font-size: 2rem;
  color: var(--button-red-color);
}
.card-col-content-block .total-equipment-num-data {
  font-size: 2rem;
  color: var(--info-txt-color);
}

 
 /* If you want to keep them side by side on larger screens */
 @media (min-width: 790px) {
   .card-content {
     flex-direction: row;
   }
   .card-column {
     width: 48%;
   }
 }

/* .yard-check-card .card-column p {
  margin: 5px 0;
} */ /* unused */ /* Not used as specific styling is applied per element */

.est-profit-txt {
   display: none;
   /* unused */ /* Not used in current implementation, though referenced in JS */
}
.profit-loss-txt {
   display: none;
   /* unused */ /* Not used in current implementation, though referenced in JS */
}
.time-submitted-txt {
   display: none;
}
.card-col-content-wrapper {
   display: flex;
   justify-content: space-evenly;
   align-items: center;
   flex-wrap: wrap;
   gap: 10px;
}
.card-col-content-block {
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   gap: 5px;
   width: 100%;
   max-width: 150px;
   height: 100%;
   max-height: 150px;
   min-height: 150px;
   border: 1px solid var(--light-grey-color1);
   border-radius: 4px;
   background-color: var(--main-white-color);
   filter: drop-shadow(0px 4px 3px var(--light-grey-color2));
   padding: 15px;
}
.card-col-content-block p {
   text-align: center;
}
.yard-check-card .button-wrapper {
   display: flex;
   justify-content: center; /* side by side center alignment */
   align-items: center;
   gap: 15px;
 }
.yard-check-card .button-wrapper button {
   margin: 0px;
   padding: 10px 20px;
   width: 100%;
   background-color: var(--button-default-color);
   color: #fff;
   border: none;
   border-radius: 4px;
   cursor: pointer;
   transition: background-color 0.3s ease-in-out;
}
.yard-check-card .button-wrapper button:hover {
   background-color: var(--brand-color-light-green);
   /* font-weight: 600; */
}

/* Equipment Stats Styles */
/* #equipment-stats h2 {
  text-align: center;
} */ /* duplicate-redundant code (repeats at line 534 for .content-section-container h2) */

#stats-display {
  margin-top: 20px;
}

/* PICKUP TRUCK INSPECTION SECTION STYLING START */
#pickup-truck-inspection {
  width: 80%;
}
.inspection-lede {
  margin: 0 0 20px 0;
  max-width: 780px;
  color: var(--main-grey-color);
  line-height: 1.5;
}
.inspection-toggle-buttons {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 20px;
}
.inspection-toggle-btn {
  padding: 12px 20px;
  background-color: var(--button-default-color);
  color: var(--main-white-color);
  border: none;
  border-radius: 6px;
  width: auto;
  min-width: 220px;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.inspection-toggle-btn:hover {
  background-color: var(--brand-color-green);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.inspection-toggle-btn.is-active {
  background-color: var(--brand-color-light-green);
  color: var(--button-default-color);
}
.inspection-form.hidden {
  display: none !important;
}
.inspection-history {
  margin: 30px 0;
  padding: 24px;
  border: 1px solid var(--light-grey-color1);
  border-radius: 8px;
  background-color: rgba(255, 255, 255, 0.85);
  box-shadow: 0px 5px 10px -1px rgba(167, 167, 167, 0.45);
}
.inspection-history-header h3 {
  margin: 0;
  font-size: 1.25rem;
  color: var(--brand-color-green);
}
.inspection-history-header p {
  margin: 8px 0 0 0;
  color: var(--main-grey-color);
}
.inspection-history-controls {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.inspection-history-controls label {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--button-default-color);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.inspection-history-controls select,
.inspection-history-controls input[type="search"] {
  padding: 8px 10px;
  border: 1px solid var(--light-grey-color1);
  border-radius: 6px;
  background-color: var(--main-white-color);
  min-width: 200px;
}
.inspection-history-list {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.inspection-history-empty {
  margin: 0;
  color: var(--main-grey-color);
}
.inspection-history-item {
  border: 1px solid var(--light-grey-color1);
  border-radius: 8px;
  padding: 16px 20px;
  background-color: var(--main-white-color);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.inspection-history-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  font-weight: 600;
  color: #112132;
}
.inspection-history-meta span {
  font-size: 0.95rem;
}
.inspection-history-comments {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--main-grey-color);
}
.inspection-history-comments-label {
  font-weight: 600;
}
.inspection-history-comments-text {
  flex: 1 1 auto;
  min-width: 200px;
  position: relative;
  display: inline-block;
  max-width: 100%;
  line-height: 1.4;
  padding-right: 60px;
}

.inspection-history-comments-text::after {
  content: "";
  position: absolute;
  top: 0;
  right: 45px;
  width: 45px;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0.85));
  opacity: 0;
}

.inspection-history-comments-text.inspection-comment-visual::after {
  opacity: 1;
}
.inspection-history-toggle {
  background: none;
  border: none;
  color: var(--button-default-color);
  cursor: pointer;
  font-weight: 600;
  text-decoration: underline;
  padding: 0;
}
.inspection-history-toggle-inline {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.75rem;
  background: none;
  color: var(--brand-color-green);
  text-decoration: none;
  padding: 0 6px;
  margin-left: 4px;
  border-radius: 999px;
  transition: background-color 0.2s ease;
}

.inspection-history-toggle-inline::after {
  content: "\203A";
  font-size: 0.65rem;
  transition: transform 0.2s ease;
}

.inspection-history-toggle-inline:hover {
  background-color: rgba(118, 179, 157, 0.1);
  color: var(--brand-color-green);
}

.inspection-history-toggle-inline.is-expanded::after {
  transform: rotate(90deg);
}
.inspection-history-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.inspection-history-action {
  padding: 10px 16px;
  border: none;
  border-radius: 6px;
  background-color: var(--brand-color-green);
  color: var(--main-white-color);
  min-width: 160px;
  width: auto;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}
.inspection-history-action:hover {
  background-color: var(--brand-color-light-green);
  color: var(--main-white-color);
}
.inspection-history-checklist {
  border-top: 1px solid var(--light-grey-color1);
  padding-top: 12px;
  display: none;
  gap: 12px;
  flex-direction: column;
}
.inspection-history-checklist.is-visible {
  display: flex;
}
.inspection-history-checklist-section h4 {
  margin: 0 0 6px 0;
  font-size: 0.95rem;
  color: var(--button-default-color);
}
.inspection-history-checklist-section ul {
  margin: 0;
  padding-left: 0;
  color: var(--main-grey-color);
  font-size: 0.9rem;
  list-style: none;
}

.inspection-history-checklist-section li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 4px;
}

.inspection-history-checklist-section li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--brand-color-green);
  font-weight: 600;
}
.inspection-history-pagination {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.inspection-history-pagination-buttons {
  display: flex;
  align-items: center;
  gap: 12px;
}
.inspection-history-page-btn {
  padding: 8px 14px;
  border-radius: 6px;
  border: none;
  background-color: var(--secondary-black-color);
  color: var(--main-white-color);
  cursor: pointer;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  width: 100px;
  text-align: center;
}
.inspection-history-page-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: var(--secondary-black-color);
}
.inspection-history-page-btn:not(:disabled):hover {
  background-color: var(--hover-blue-color);
  color: var(--main-white-color);
}
.inspection-history-page-status {
  font-weight: 600;
  color: var(--secondary-black-color);
  display: block;
}

.checkbox-group div {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-direction: row-reverse;
}

.checkbox-group label {
  margin: 0;
  flex: 1;
}

.checkbox-group input[type="checkbox"] {
  width: 20px;
  height: 20px;
  accent-color: var(--brand-color-green);
  border: 1.5px solid #8a8a8a;
  border-radius: 4px;
  cursor: pointer;
}

.checkbox-group input[type="checkbox"]:focus-visible,
.checkbox-group input[type="checkbox"]:hover {
  outline: 2px solid var(--brand-color-light-green);
  outline-offset: 2px;
}
body.modal-open {
  overflow: hidden;
}
#inspection-success-modal,
#inspection-warning-modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.55);
  z-index: 2000;
  padding: 20px;
}
.inspection-success-modal.hidden,
.inspection-warning-modal.hidden {

  display: none !important;
}
.inspection-success-modal-dialog,
.inspection-warning-modal-dialog {

  background-color: var(--main-white-color);
  border-radius: 8px;
  padding: 28px;
  max-width: 360px;
  width: 100%;
  text-align: center;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}
.inspection-success-title,
.inspection-warning-title {

  margin: 0 0 10px 0;
  font-size: 1.35rem;
  color: var(--button-default-color);
}
.inspection-success-message,
.inspection-warning-message {

  margin: 0 0 20px 0;
  color: var(--main-grey-color);
}

.inspection-warning-title {
  color: var(--button-red-color);
}

.inspection-warning-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}

.inspection-warning-actions button {
  width: auto;
  min-width: 130px;
  padding: 10px 18px;
  border-radius: 6px;
  border: none;
  font-weight: 600;
}

.inspection-warning-cancel {
  background-color: var(--button-default-color);
  color: var(--main-white-color);
}

.inspection-warning-cancel:hover,
.inspection-warning-cancel:focus {
  background-color: var(--secondary-black-color);
  color: var(--main-white-color);
}

.inspection-warning-proceed {
  background-color: var(--brand-color-green);
  color: var(--main-white-color);
}

.inspection-warning-proceed:hover,
.inspection-warning-proceed:focus {
  background-color: var(--brand-color-light-green);
  color: var(--main-white-color);
}

.inspection-warning-subtext {
  margin: 0;
  font-size: 0.9rem;
  color: var(--main-grey-color);
}
.inspection-success-close {
  padding: 10px 18px;
  border: none;
  border-radius: 6px;
  background-color: var(--button-default-color);
  color: var(--main-white-color);
  cursor: pointer;
  font-weight: 600;
  transition: background-color 0.2s ease-in-out;
}
.inspection-success-close:hover {
  background-color: var(--brand-color-green);
}
.inspection-form-modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
  background: rgba(0, 0, 0, 0.55);
  z-index: 1900;
}
.inspection-form-modal.hidden {
  display: none !important;
}
.inspection-form-modal-dialog {
  position: relative;
  max-height: 90vh;
  overflow-y: auto;
  width: min(900px, 100%);
  background: var(--main-white-color);
  border-radius: 10px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
}
.inspection-form-close {
  position: absolute;
  top: 12px;
  right: 16px;
  border: none;
  background: transparent;
  font-size: 1.8rem;
  color: var(--button-default-color);
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  cursor: pointer;
  z-index: 10;
}
.inspection-form-close:hover {
  color: var(--brand-color-green);
}
.inspection-form-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 10px 0;
}
.inspection-form-actions button {
  padding: 10px 18px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}
.inspection-submit-btn {
  background-color: var(--button-default-color);
  color: var(--main-white-color);
}
.inspection-submit-btn:hover {
  background-color: var(--brand-color-green);
}
.inspection-generate-pdf-btn {
  background-color: var(--brand-color-light-green);
  color: var(--button-default-color);
}
.inspection-generate-pdf-btn:hover {
  background-color: var(--brand-color-green);
  color: var(--main-white-color);
}
.inspection-cancel-btn {
  background-color: var(--main-grey-color);
  color: var(--main-white-color);
}
.inspection-cancel-btn:hover {
  background-color: var(--button-default-color);
}
@media (max-width: 900px) {
  #pickup-truck-inspection {
    width: 100%;
  }
  .inspection-history-controls {
    flex-direction: column;
    align-items: stretch;
  }
  .inspection-toggle-buttons {
    flex-direction: column;
    align-items: stretch;
  }
  .inspection-toggle-btn {
    width: 100%;
  }
  .inspection-history-controls select,
  .inspection-history-controls input[type="search"] {
    width: 100%;
  }
  .inspection-history-item {
    padding: 14px 16px;
  }
  .inspection-history-meta {
    flex-direction: column;
    gap: 6px;
  }
  .inspection-history-comments {
    flex-direction: column;
  }
  .inspection-history-actions {
    width: 100%;
    flex-direction: column;
  }
  .inspection-history-action {
    width: 100%;
  }
}
#pro-truck-inspection-form, #rental-pickup-truck-inspection-form {
   width: 100%;
   /* max-width: 650px; */
   min-width: 300px;
   padding: 25px;
   margin-bottom: 25px;
   border: 1px solid var(--light-grey-color1);
   border-radius: 8px;
   box-shadow: 0px 5px 10px -1px rgba(167, 167, 167, 0.75);
   -webkit-box-shadow: 0px 5px 10px -1px rgba(167, 167, 167, 0.75);
   -moz-box-shadow: 0px 5px 10px -1px rgba(167, 167, 167, 0.75);
   background-color: var(--main-white-color);
}
#pro-truck-inspection-form > .form-title-wrapper, #rental-pickup-truck-inspection-form > .form-title-wrapper {
   position: relative;
   width: calc(100% + 42px);
   top: -21px;
   left: -21px;
   border-radius: 4px 4px 0 0;
   border: 1px solid var(--brand-color-green);
   background-color: var(--brand-color-green);
   color: var(--main-white-color);
   padding: 20px;
}
#pro-truck-inspection-form > .form-title-wrapper h2, #rental-pickup-truck-inspection-form > .form-title-wrapper h2 {
   margin: 0;
   font-size: 1.3rem;
   font-weight: 500;
}
#pro-truck-inspection-form fieldset, 
#rental-pickup-truck-inspection-form fieldset { 
   margin-bottom: 20px; 
   padding: 10px 15px 15px 15px; 
   border: 1px solid #ccc; 
   width: 100%; 
   border-radius: 5px; 
}
#pro-truck-inspection-form .checkbox-group div,
#rental-pickup-truck-inspection-form .checkbox-group div {
   padding: 5px 0;
}
#pro-truck-inspection-form textarea, 
#rental-pickup-truck-inspection-form textarea {
   width: 100%;
   padding: 5px;
}

.form-footer-note-wrapper {
   width: 100%;
   /* max-width: 650px;
   min-width: 300px; */
   margin-top: 10px;
   font-size: 0.9rem;
   color: var(--info-txt-color);
}
@media print {
  /* Hide app chrome; only show the form being printed */
  header, footer, #side-nav-container, #alerts-container, #main-dashboard-content-container,
  #submitted-yard-checks, #equipment-stats, #lg-equipment-yard-check-form, #dashboard-container,
  #scrollToTopButton {
    display: none !important;
  }

  /* Show inspection section */
  #pickup-truck-inspection {
    display: block !important;
  }

  /* If you only want to print a specific form, you can toggle which one is visible here */
  #pro-truck-inspection-form,
  #rental-pickup-truck-inspection-form {
    border: none;
    box-shadow: none;
    width: 100%;
  }

  .button-wrapper { display: none !important; } /* hide action buttons in print */
}
/* PICKUP TRUCK INSPECTION SECTION STYLING END */


/* Modal Styles */
#modal-container .modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 10;
}

#modal-container .modal-content {
  background-color: #fff;
  margin: 5% auto;
  padding: 20px;
  width: 75%;
  height: 85%;
  position: relative;
  overflow-y: scroll;
}
#modal-container hr {
   margin: 6px 0;
}
/* Equipment status colors for modal */
.status-print-color {
   color: #f6f6f6;
   font-weight: 600;
   padding: 2px 8px;
   border-radius: 4px;
}
.status-available {
background-color: #0dca1c; /* Green */
}
.status-rented {
background-color: #4aa5eb; /* Blue */
}
.status-out-of-service {
background-color: #dc3545; /* Red */
}

#modal-container .close-button {
  position: absolute;
  right: 15px;
  top: 10px;
  font-size: 24px;
  cursor: pointer;
}
.modal-content button {
   margin-top: 20px;
   padding: 10px 20px;
   width: 25%;
   font-size: 1.2rem;
   background-color: var(--button-default-color);
   color: #fff;
   border: none;
   border-radius: 4px;
   cursor: pointer;
   transition: background-color 0.3s ease-in-out;
}
.modal-content button:hover {
   background-color: var(--hover-blue-color);
   font-weight: 600;
}
/* Profit and Loss Colors */
.profit-amount {
  color: lightgreen;
}

.loss-amount {
  color: red;
}

/* Footer Styles */
footer {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #333;
  color: #fff;
  padding: 10px;
  width: 100%;
  height: 30px;
}

.footer-wrapper {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.footer-col {
  margin: 0 10px;
}
.footer-wrapper > .footer-col {
   font-size: 12px
}

/* MEDIA QUERIES */
@media (max-width: 500px) {
   .page-title {
      font-size: 12px;
   }
   /* Force collapsed class on small screens */
   #side-nav-container {
     width: 60px !important;
   }
   #side-nav-container .side-menu-txt {
     opacity: 0 !important;
     pointer-events: none;
   }
    /* HIDE THE COLLAPSE BUTTON ON SMALL SCREENS */
   #menu-collapse-btn {
      display: none;
   }

   /* Yard check form responsive styles*/
   .yard-check-form-title {
      font-size: 1.2rem;
      text-align: center; 
   }
   .date-time-title {
      font-size: 0.8rem;
   }
   .form-wrapper {
      margin-top: 0px;
   }
   .form-wrapper .form-control input,select {
      width: 100% !important;
   }
   
   .img-eq-info-wrapper {
      justify-content: center;
   }
   .img-eq-info-wrapper .image-wrapper {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 80%;
   }
   .img-eq-info-wrapper .image-wrapper .equipment-image {
      max-width: 100%;
      height: auto;
   }
   .img-eq-info-wrapper .eq-info-wrapper {
      width: 100%;
   }
   /* Penske form responsive styles */
   .form-container {
      width: 100%;
      height: 98%;
      justify-content: flex-start;
   }
   #penske-form {
      height: 100%;
      max-width: 100%;
   }
   .equipment-button-wrapper {
      flex-wrap: wrap;
      width: 100%;
   }
}
/* Submitted Yard check section responsive styles */
@media (max-width: 900px) {
   .yard-check-card .button-wrapper {
      flex-direction: column;
      align-items: center;
   }
}















