/* ===== Global body styles for all leave request pages ===== */
body {
  background-color: #000 !important;
  margin: 0;
  padding: 0;
  font-family: 'Courier New', Courier, monospace;
  color: #fff;
}

/* ==================================
   Leave Request Form Styles
   (Apply, Edit, etc.)
   ================================== */

.leave-form-container {
  max-width: 800px; /* Adjusted max-width for consistency with other forms */
  margin: 40px auto;
  background-color: #000;
  padding: 25px 30px;
  border-radius: 12px;
  box-shadow: 0 0 15px rgba(255, 0, 86, 0.4);
  font-family: 'Courier New', Courier, monospace; /* Added for consistency */
  color: #fff; /* Added for consistency */
}

.leave-form-container h2 {
  color: #ff2e6f;
  font-weight: 700;
  margin-bottom: 25px; /* Consistent margin-bottom */
  text-align: center;
  font-size: 28px; /* Consistent font size for form headings */
  text-shadow: 0 0 8px rgba(255, 46, 111, 0.5); /* Consistent text-shadow */
}

.leave-form-container label {
  display: block;
  font-weight: 600;
  margin-bottom: 8px;
  color: #d6d6d6;
  font-size: 14px;
}

.leave-form-container input[type="date"],
.leave-form-container select,
.leave-form-container textarea,
.leave-form-container input[type="file"],
.leave-form-container input[type="text"] { /* Added input[type="text"] for consistency */
  width: 100%;
  padding: 10px 12px;
  background-color: #111; /* Changed from #0a0a0a to #111 for consistency */
  border: 1.5px solid #ff2e6f;
  border-radius: 6px;
  color: #fff;
  font-size: 14px;
  margin-bottom: 20px;
  box-sizing: border-box;
  font-family: 'Courier New', monospace; /* Added for consistency */
  transition: border-color 0.3s ease, background-color 0.3s ease; /* Added background-color transition */
}

.leave-form-container input:focus,
.leave-form-container select:focus,
.leave-form-container textarea:focus,
.leave-form-container input[type="file"]:focus { /* Added input[type="file"] for focus */
  border-color: #e82a64;
  outline: none;
  background-color: #111; /* Ensures background stays consistent on focus */
}

.leave-form-container textarea {
  min-height: 100px;
  resize: vertical;
}

/* --- Form Buttons Container --- */
.leave-form-container .form-buttons {
  display: flex;
  gap: 15px; /* Consistent gap between buttons */
  justify-content: flex-start; /* Aligns buttons to the left */
  align-items: center;
  flex-wrap: nowrap;
  margin-top: 24px; /* Space above buttons */
}

/* --- Buttons (General Styles for Leave Form) --- */
.leave-form-container .btn-primary,
.leave-form-container .btn-secondary,
.leave-form-container .btn-success { /* Added btn-success for consistency */
  font-family: 'Courier New', monospace !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  border-radius: 8px !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
  padding: 14px 28px !important; /* Unified padding */
  font-size: 18px !important; /* Unified font size */
}

/* Primary Button */
.leave-form-container .btn-primary {
  background-color: #ff2e6f !important;
  border: none !important;
  color: #fff !important;
}

.leave-form-container .btn-primary:hover {
  background-color: #e82a64 !important;
  box-shadow: 0 0 8px #ff2e6f !important; /* Consistent box-shadow */
  transform: scale(1.03) !important; /* Consistent transform */
}

/* Secondary Button */
.leave-form-container .btn-secondary {
  background-color: transparent !important;
  border: 2px solid #ff2e6f !important;
  color: #ff2e6f !important;
}

.leave-form-container .btn-secondary:hover {
  background-color: #ff2e6f !important;
  color: #000 !important;
  border-color: #ff2e6f !important;
  transform: scale(1.03) !important;
}

/* Success Button (if used in form) */
.leave-form-container .btn-success {
  background-color: #ff2e6f !important; /* Consistent with primary/brand color */
  border: none !important;
  color: #fff !important;
}

.leave-form-container .btn-success:hover {
  background: linear-gradient(135deg, #ff2e6f, #ff2e6f) !important; /* Consistent gradient hover */
  box-shadow: 0 0 8px #ff2e6f !important;
  transform: scale(1.03) !important;
}

.leave-form-container .alert-danger {
  background-color: #a31a3e; /* Consistent with other alert-danger */
  padding: 15px 20px;
  border-radius: 8px; /* Consistent border-radius */
  margin-bottom: 25px; /* Consistent margin-bottom */
  color: #fff;
  font-family: 'Courier New', monospace; /* Added for consistency */
}

.leave-form-container .alert-danger ul {
  margin: 0;
  padding-left: 20px;
}

/* ==================================
   Leave Requests Index Styles
   (Table/List View)
   ================================== */

.leave-requests-container {
  background-color: #000 !important;
  padding: 40px 50px; /* Consistent padding */
  border-radius: 16px;
  max-width: 2500px;
  margin: 40px auto;
  box-shadow: 0 8px 30px rgba(255, 46, 111, 0.3); /* Consistent box-shadow */
  font-family: 'Courier New', Courier, monospace;
  color: #fff; /* Added for consistency */
}

.leave-requests-container h2 {
  color: #ff2e6f;
  font-size: 36px; /* Consistent font size for page headings */
  font-weight: 700;
  margin-bottom: 30px;
  text-align: center;
  text-shadow: 0 0 10px rgba(255, 105, 180, 0.5); /* Consistent text-shadow */
}

/* --- Buttons at Index Top --- */
/* Unified styles for all top-level action buttons */
.leave-requests-container .btn-new-leave,
.leave-requests-container .btn-new-type {
  font-family: 'Courier New', monospace !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  border-radius: 8px !important;
  transition: all 0.3s ease !important; /* Unified transition */
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  padding: 12px 22px !important; /* Unified padding */
  font-size: 16px !important; /* Unified font size */
  color: #fff !important;
  border: none !important; /* Ensure no default border */
  margin-bottom: 20px;
  
}

/* New Leave Request Button (Primary style) */
.leave-requests-container .btn-new-leave {
  background-color: #ff2e6f !important;
}
.leave-requests-container .btn-new-leave:hover {
  background-color: #e82a64 !important; /* Darker pink */
  transform: scale(1.03) !important;
  box-shadow: 0 0 8px #ff2e6f !important; /* Consistent box-shadow */
}

/* New Leave Type Button (Primary style, if it's an important action) */
.leave-requests-container .btn-new-type {
  background-color: #28a745 !important; /* Changed from green to primary pink */
}
.leave-requests-container .btn-new-type:hover {
  background-color: #e82a64 !important; /* Darker pink */
  transform: scale(1.03) !important;
  box-shadow: 0 0 8px #ff2e6f !important; /* Consistent box-shadow */
}

/* Table styles */
.leave-requests-container .leave-requests-table { /* Added container prefix for specificity */
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 12px;
  background-color: #111 !important; /* Changed from #000 to #111 for consistency */
  border-radius: 16px;
}

.leave-requests-container .leave-requests-table thead tr {
  background-color: #ff2e6f;
  color: #fff;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 15px; /* Consistent font size */
  border-radius: 12px; /* Consistent border-radius */
  box-shadow: 0 3px 10px rgba(255, 105, 180, 0.4); /* Consistent box-shadow */
}

.leave-requests-container .leave-requests-table thead th {
  padding: 14px 20px; /* Consistent padding */
  text-align: left;
  border: none;
}

.leave-requests-container .leave-requests-table tbody tr {
  background-color: #111 !important; /* Changed from #000 to #111 for consistency */
  color: #f1f1f1; /* Consistent text color */
  border-radius: 12px;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 3px 8px rgba(0,0,0,0.5); /* Consistent box-shadow */
}

.leave-requests-container .leave-requests-table tbody tr:hover {
  background-color: rgba(255, 105, 180, 0.12) !important; /* Consistent hover background */
  box-shadow: 0 6px 16px rgba(255, 105, 180, 0.3); /* Consistent hover box-shadow */
}

.leave-requests-container .leave-requests-table tbody td {
  padding: 16px 20px; /* Consistent padding */
  vertical-align: middle;
  border: none;
  font-size: 15px; /* Consistent font size */
}

/* Attachment links */
.leave-requests-container .attachment-link {
  color: #ff2e6f;
  font-size: 14px; /* Consistent font size */
  text-decoration: none;
}
.leave-requests-container .attachment-link:hover {
  text-decoration: underline;
}

/* Muted text */
.leave-requests-container .text-muted {
  color: #d6d6d6; /* Changed to #d6d6d6 for consistency with labels */
  font-size: 14px; /* Consistent font size */
}

/* --- Action Buttons Container (Table) --- */
.leave-requests-container .action-buttons {
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 12px !important; /* Consistent gap between buttons */
  justify-content: center !important;
  align-items: center;
  white-space: nowrap;
  background: transparent !important;
  position: relative;
  z-index: 1;
  color: #fff; /* Ensure text color is white for internal consistency */
}

.leave-requests-container .action-buttons .btn-edit,

.leave-requests-container .action-buttons .btn-approve,
.leave-requests-container .action-buttons .btn-reject {
  margin: 0 !important; /* Remove unwanted spacing */
  white-space: nowrap; /* keep button text on one line */
  padding: 12px 22px !important; /* Unified padding for action buttons */
  border-radius: 8px !important;
  font-size: 16px !important; /* Unified font size for action buttons */
  font-weight: 700 !important;
  cursor: pointer !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important; /* Consistent gap for icon/text */
  transition: all 0.3s ease !important; /* Unified transition */
  font-family: 'Courier New', monospace !important;
  text-decoration: none !important;
  position: relative;
  z-index: 10;
   
}
.leave-requests-container .action-buttons .btn-delete{
  margin: 0 !important; /* Remove unwanted spacing */
  white-space: nowrap; /* keep button text on one line */
  padding: 12px 22px !important; /* Unified padding for action buttons */
  border-radius: 8px !important;
  font-size: 16px !important; /* Unified font size for action buttons */
  font-weight: 700 !important;
  cursor: pointer !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important; /* Consistent gap for icon/text */
  transition: all 0.3s ease !important; /* Unified transition */
  font-family: 'Courier New', monospace !important;
  text-decoration: none !important;
  position: relative;
  z-index: 10;
border: 2px solid #ff2e6f !important;
}
/* Edit Button */
/* --- Compact Action Buttons --- */
/* --- Compact Action Buttons with Original Colors --- */
.leave-requests-container .action-buttons .btn-edit,
.leave-requests-container .action-buttons .btn-delete,
.leave-requests-container .action-buttons .btn-approve,
.leave-requests-container .action-buttons .btn-reject {
  padding: 6px 12px !important;   /* Smaller padding */
  font-size: 13px !important;     /* Smaller font size */
  border-radius: 6px !important;  /* Slightly smaller radius */
  gap: 4px !important;            /* Less space between icon and text */
}

/* Adjust icons size for compact buttons */
.leave-requests-container .action-buttons i {
  font-size: 14px !important;     /* Smaller icons */
}

/* Maintain original colors and hover effects */

/* Edit Button */
.leave-requests-container .btn-edit {
  background-color: #ff2e6f !important;
  color: #fff !important;
  box-shadow: 0 0 8px rgba(255, 46, 111, 0.4);
}
.leave-requests-container .btn-edit:hover {
  background-color: #e82a64 !important;
  color: #000 !important;
}

/* Delete Button */
.leave-requests-container .btn-delete {
  background-color: transparent !important;
  color: #ff2e6f !important;
  border: 2px solid #ff2e6f !important;
}
.leave-requests-container .btn-delete:hover {
  background-color: #ff2e6f !important;
  color: #000 !important;
}

/* Approve Button */
.leave-requests-container .btn-approve {
  background-color: #28a745 !important; /* Green */
  color: #fff !important;
  box-shadow: 0 0 8px rgba(40, 167, 69, 0.4);
}
.leave-requests-container .btn-approve:hover {
  background-color: #218838 !important;
}

/* Reject Button */
.leave-requests-container .btn-reject {
  background-color: #ffc107 !important; /* Yellow */
  color: #000 !important;
  box-shadow: 0 0 8px rgba(255, 193, 7, 0.4);
}
.leave-requests-container .btn-reject:hover {
  background-color: #e0a800 !important;
}

/* Back button (for Show or Edit pages) */
.btn-back {
  background-color: transparent !important;
  color: #ff2e6f !important; /* Consistent pink color */
  border: 2px solid #ff2e6f !important; /* Consistent pink border */
  border-radius: 8px !important;
  padding: 10px 18px !important;
  font-size: 16px !important; /* Consistent font size */
  font-weight: 700 !important; /* Consistent font weight */
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: all 0.3s ease !important;
  font-family: 'Courier New', monospace !important;
  margin-top: 20px !important; /* Consistent margin-top */
}
.btn-back:hover {
  background-color: #ff2e6f !important;
  color: #000 !important; /* Black text on hover */
  border-color: #ff2e6f !important;
}
.btn-back i {
  font-size: 18px;
}

/* ==================================
   Leave Requests Show Styles
   (Individual Leave Request Details)
   ================================== */

.leave-request-details {
  background-color: #000;
  padding: 30px 40px; /* Consistent padding */
  border-radius: 12px; /* Consistent border-radius */
  box-shadow: 0 0 15px rgba(255, 0, 86, 0.4);
  max-width: 800px; /* Consistent max-width for detail pages */
  margin: 40px auto;
  font-family: 'Courier New', Courier, monospace;
  color: #fff; /* Added for consistency */
}

.leave-request-details h2 {
  font-size: 36px; /* Consistent heading size for show page */
  color: #ff2e6f;
  margin-bottom: 30px; /* Consistent margin */
  text-align: center; /* Consistent text alignment */
  font-weight: 700; /* Consistent font-weight */
  text-shadow: 0 0 10px rgba(255, 105, 180, 0.5); /* Consistent text-shadow */
}

.leave-request-details p {
  margin: 10px 0;
  font-size: 15px; /* Consistent font size */
  color: #f1f1f1; /* Consistent text color */
}

.leave-request-details .detail-label { /* Added label style for details for consistency */
  font-weight: 700;
  color: #d6d6d6;
  margin-right: 10px;
  font-size: 14px;
}

/* Action Buttons (Approve/Reject/Edit on Show page) */
.leave-request-details .action-buttons-group { /* Group for multiple buttons on show page */
  display: flex;
  gap: 15px; /* Consistent gap */
  justify-content: flex-start; /* Or center if preferred */
  margin-top: 30px; /* Space above buttons */
  flex-wrap: nowrap;
}

/* Success Button (on Show page, typically for approve/confirm) */
.leave-request-details .btn-success {
  background-color: #28a745 !important; /* Green for success/approve */
  border: none !important;
  color: #fff !important;
  padding: 12px 22px !important; /* Unified padding */
  border-radius: 8px !important;
  cursor: pointer !important;
  font-weight: 700 !important;
  font-family: 'Courier New', monospace !important;
  transition: all 0.3s ease !important; /* Unified transition */
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.leave-request-details .btn-success:hover {
  background-color: #218838 !important; /* Darker green on hover */
  box-shadow: 0 0 8px rgba(40, 167, 69, 0.4); /* Green shadow */
  transform: scale(1.03) !important;
}

/* Danger Button (on Show page, typically for reject/delete) */
.leave-request-details .btn-danger {
  background-color: #ffc107 !important; /* Yellow for danger/reject */
  border: none !important; /* Changed from border to no border */
  color: #000 !important; /* Black text for contrast on yellow */
  padding: 12px 22px !important; /* Unified padding */
  border-radius: 8px !important;
  cursor: pointer !important;
  font-weight: 700 !important;
  font-family: 'Courier New', monospace !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.leave-request-details .btn-danger:hover {
  background-color: #e0a800 !important; /* Darker yellow on hover */
  box-shadow: 0 0 8px rgba(255, 193, 7, 0.4); /* Yellow shadow */
  transform: scale(1.03) !important;
}

/* Link Button (for "Back to List" or similar) */
.leave-request-details .btn-link {
  color: #ff2e6f !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  font-family: 'Courier New', monospace !important;
  display: inline-block !important;
  margin-top: 20px !important;
  transition: all 0.3s ease !important; /* Added transition */
  padding: 0 !important; /* Remove default padding for links */
}

.leave-request-details .btn-link:hover {
  text-decoration: underline !important;
  transform: scale(1.02); /* Slight scale on hover */
  color: #e82a64 !important; /* Darker pink on hover */
}