:root {
  --white: #ffffff;
  --black: #000000;
  --dark-text: #222222;
  --light-bg: #f8f9fa;
  --submenu-bg: #111111;
  
  --yellow-warning: #f3b703;
  --gray-text: #9e9999;
  --purple-accent:#6c016c;
  --strong-red: #d43535;
  --blue-accent: #013f80;
  --green-accent:#018b21;

}
   body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
    font-family: sans-serif;
    background-color: #f8f9fa; 
    color: #222; 
  }

  .top-navbar {
    background-color: #fff;
    padding: 0.5rem 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    position: sticky;
    top: 0;
    z-index: 1030;
    font-size: 1rem; /* base font size */
    color: #333; /* text color */
    
  }

  .top-navbar .left-section {
    display: flex;
    align-items: center;
    gap: 15px;
    color: #333;
  }

  .top-navbar .logo-icon {
    font-size: 1.6rem; /* slightly bigger */
    color: #333333;
  }

  .top-navbar .school-name {
    font-weight: 600;
    font-size: 1.15rem; /* slightly bigger */
    color: #333;
  }

  .toggle-btn {
    font-size: 1.3rem;
    border: none;
    background: none;
    cursor: pointer;
    color: #333;
    transition: color 0.3s ease; /* hover transition */
  }

  .toggle-btn:hover {
    color: #007bff;
  }

  .right-section .user-img {
    height: 36px;
    width: 36px;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid transparent; /* border */
    transition: border-color 0.3s ease; /* hover transition */
  }

  .right-section .user-img:hover {
    border-color: #007bff; /* highlight on hover */
  }

  .right-section .school-name-text {
    font-weight: 500;
    font-size: 0.95rem;
    color: #444;
  }

  .dropdown-toggle-icon {
    font-size: 0.9rem;
    cursor: pointer;
    color: #666; /* lighter for subtlety */
    transition: color 0.3s ease;
  }

  .dropdown-toggle-icon:hover {
    color: #007bff;
  }

.sidebar {
  width: 250px;
  height: calc(100vh - 53px);
  background-color: #000;
  color: #fff;
  padding: 1rem 0.5rem;
  overflow-y: auto; /* ENABLE SCROLL */
  overflow-x: hidden;
  position: fixed;
  top: 53px;
  left: 0;
  transition: all 0.3s ease-in-out;
  z-index: 1029;
  font-size: 0.95rem;
}


  .sidebar.collapsed {
    width: 70px;
  }

  .nav-item {
    position: relative;
  }

  .nav-link {
    color: #fff;
    padding: 0.65rem 1rem;
    display: flex;
    align-items: center;
    text-decoration: none;
    font-size: 0.95rem;
    border-radius: 5px;
    gap: 10px;
    transition: background 0.2s ease, color 0.2s ease; /* hover transition */
  }

  .nav-link:hover {
    background-color: #1e1e1e;
    color: #00ff00;
    box-shadow: 0 0 8px #00ff00aa; /* glow effect */
  }

  .dropdown-icon {
    margin-left: auto;
    font-size: 0.8rem;
    color: #888;
    transition: color 0.3s ease;
  }

  .nav-link:hover .dropdown-icon {
    color: #00ff00;
  }

  .submenu {
    list-style: none;
    padding-left: 1.5rem;
    margin: 0.5rem 0;
    background-color: #fff;
  color: #000;
  border-radius: 5px;
  padding: 0.5rem 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
       
  }

  .submenu li a {
    color: #000;
    padding: 0.5rem 1rem;
    display: block;
    font-size: 0.85rem;
    text-decoration: none;
    border-radius: 4px; /* rounded */
    transition: background-color 0.25s ease, color 0.25s ease; /* hover transition */
  }

  .submenu li a:hover {
    color: #fff;
    background-color: #333;
  }

  .session-title {
    color: #ffc107;
    font-weight: bold;
    font-size: 1rem;
  }
.floating-submenu {
  background-color: #111;
  color: #fff;
  min-width: 180px;
  padding: 0.5rem 0;
  display: none;
  position: fixed;
  z-index: 9999;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  font-size: 0.9rem;
}






  .floating-submenu li a {
  color: #ccc;
  padding: 0.5rem 1rem;
  display: block;
  text-decoration: none;
  font-size: 0.9rem;
  white-space: nowrap;
  border-radius: 4px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.floating-submenu li a:hover {
  background-color: #00ff00;
  color: #000;
}

  .sidebar.collapsed .has-floating:hover > .floating-submenu {
    display: block;
  }

  .sidebar.collapsed .collapse {
    display: none !important;
  }

  .sidebar.collapsed .nav-link span,
  .sidebar.collapsed .nav-link .dropdown-icon {
    display: none;
  }
  .sidebar.collapsed .nav-link {
 justify-content: center; /* center the icon */
  padding: 0.65rem 0.5rem;
  pointer-events: auto; /* enable hover, even though click is disabled */
}


   .main-content {
    margin-left: 250px;
    padding: 1rem;
    transition: margin-left 0.3s ease;
    position: relative;
    z-index: 1;
    background-color: #fff; 
    min-height: calc(100vh - 53px);
    border-radius: 8px 0 0 8px; 
  margin-top: 14px; 
   }
   

  .sidebar.collapsed ~ .main-content {
    margin-left: 70px;
  }

  .sidebar.collapsed .sidebar-header {
    display: none;
  }

  .nav-item.active > .nav-link {
    color: #00ff00aa; /* active color */
    font-weight: 600;
  }
  .sidebar.collapsed .nav-link:hover {
  background-color: #1e1e1e;
  color: #00ff00;
  box-shadow: 0 0 8px #00ff00aa; /* glow effect */
}

/* Optional: change only the icon color */
.sidebar.collapsed .nav-link i {
  color: #ccc;
  transition: color 0.3s ease;
}

.sidebar.collapsed .nav-link:hover i {
  color: #00ff00;
}


  /* Running Note */
.running-note-wrapper {
    position: fixed;
    top: 44px;
    left: 0;
    width: 100%;
    background: white;
    z-index: 999;
    overflow: hidden;
    padding:0.5rem;
  }
  
  .running-note-track {
    display: flex;
    width: 100%;
    overflow: hidden;
  }
  
  .running-note {
    white-space: nowrap;
    font-weight: 800;
    font-size: 15px;
    color: #d11b1b;
    padding-left: 100%; /* makes it start from outside the screen */
    animation: scroll-left 15s linear infinite;
    display: inline-block;
  }
  
  @keyframes scroll-left {
    0% {
      transform: translateX(0%);
    }
    100% {
      transform: translateX(-100%);
    }
  }
  
 

  /* ============= Responsive ============= */

  @media (max-width: 768px) {
    .top-navbar {
      flex-direction: column;
      align-items: flex-start;
      padding: 0.5rem;
    }

    .top-navbar .left-section,
    .top-navbar .right-section {
      width: 100%;
      justify-content: space-between;
    }

    /* Sidebar slides in/out instead of collapsing */
    .sidebar {
      width: 250px; /* full width when visible */
      height: 88vh;
      position: fixed;
      top: 5rem;
      left: 0;
      transform: translateX(0);
      transition: transform 0.3s ease;
    }

    .sidebar.collapsed {
      transform: translateX(-100%);
    }

    .main-content {
      margin-left: 0 !important;
      border-radius: 0;
      padding: 0.75rem;
    }

    /* Keep floating submenus static on small screens */
    .floating-submenu {
      position: static;
      box-shadow: none;
    }
  }

  @media (max-width: 576px) {
    .top-navbar {
      font-size: 0.95rem;
    }

    .top-navbar .school-name {
      font-size: 1rem;
    }

    .top-navbar .logo-icon {
      font-size: 1.4rem;
    }

    .right-section .school-name-text {
      font-size: 0.85rem;
    }

    .main-content {
      padding: 0.75rem;
    }
  }
   @media (max-width: 768px) {
  .running-note-wrapper {
    top: 80px; /* Adjust based on navbar */
  }
  .running-note {
    font-size: 0.9rem;
  }
}

@media (max-width: 576px) {
  .running-note-wrapper {
    top:75px;
  }
  .running-note {
    font-size: 0.8rem;
  }
}
/*----------------------------------------------------- END top navar & sidenavat with running note---------------------------------------- */

/* Responsive Fix */
@media (max-width: 768px) {
    .main-content {
        width: 100%;
        margin-left: 0;
    }
}

/* School Info Section */
.school-info-section {
    width: 100%;
    height: 300px;
    background: url('./images/img.jpg') no-repeat center center / cover;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
}

.school-info-section .overlay {
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    padding: 20px;
    text-align: left;
    width: 100%;
}

.school-info-section h2 {
    font-size: 28px;
    margin-bottom: 10px;
}

.school-info-section p {
    font-size: 16px;
    margin: 5px 0;
}

.visit-btn {
    background-color: #28a745;
    border: none;
    padding: 10px 20px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;
}

.visit-btn:hover {
    background: #218838;
}
@media (max-width: 768px) {
    .school-info-section .overlay {
        padding: 20px 20px;
        text-align: center;
    }

    .school-info-section h2 {
        font-size: 22px;
    }

    .school-info-section p {
        font-size: 14px;
    }

    .visit-btn {
        padding: 10px 20px;
        width: auto;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .school-info-section .overlay {
        padding: 15px 15px;
    }

    .school-info-section h2 {
        font-size: 20px;
    }

    .school-info-section p {
        font-size: 13px;
    }

    .visit-btn {
        width: 100%;
        max-width: 220px;
        font-size: 13px;
    }
}

  
  
  

.stats-box {
    color: white;
    border-radius: 10px;
    padding: 20px;
    width: 100%;
    height: 120px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    position: relative; 
    transition: transform 0.3s ease;
}

.stats-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px; 
    height: 50px; 
    background: rgba(255, 255, 255, 0.2); 
    border-radius: 50%;
}
.stats-box:hover {
  transform: scale(1.05); /* zoom in slightly on hover */
}

.stats-icon i {
    font-size: 28px; 
    color: white; 
}
#total-students {
  background-color: var(--blue-accent);
  color: var(--white);
}

#total-teachers {
  background-color: var(--green-accent);
  color: var(--white);
}

#total-courses {
  background-color: var(--yellow-warning);
  color: var(--black);
}
#total-courses h5,p{
  color: #ffffff;
}

#fees-paid {
  background-color: var(--purple-accent);
  color: var(--white);
}

#fees-pending {
  background-color: var(--strong-red);
  color: var(--white);
}

#student-leaves {
  background-color: var(--gray-text);
  color: var(--white);
}



/* Chat Box */
.chat-box {
    background: #8cabb9;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}


/* Event Notice */
.event-notice {
    background: #f1f8e9;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* Button Hover Effect */
button:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* Responsive Layout Fixes */
@media (max-width: 992px) {
    .school-info-section {
        height: 250px;
    }
    .main-content {
        width: 90%;
        margin-left: 5%;
    }
}

@media (max-width: 768px) {
    .stats-section {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
    .school-info-section {
        height: 200px;
    }
    .stats-box {
        height: auto; /* Allow flexible height */
        padding: 15px;
    }

    .stats-icon {
        width: 40px;
        height: 40px;
    }

    .stats-icon i {
        font-size: 24px;
    }
}

@media (max-width: 480px) {
    .school-info-section {
        margin-top: 1%;
        height: 250px;
    }
    .stats-icon i {
        font-size: 22px;
    }
}



/* ============================================= START ADMISSION CSS=============================================== */
.custom-main-content {
  margin-top: 37px;
  margin-left: 240px; 
  padding: 20px;
  min-height: calc(100vh - 100px); 
  background-color: #f5f6fa;
  width: calc(100% - 240px); 
  box-sizing: border-box;
}

/* Make it fully responsive on mobile screens */
@media (max-width: 768px) {
  .custom-main-content {
    margin-left: 0; /* Remove sidebar margin */
    margin-top: 31px; /* Account for top navbar and running note */
    width: 100%; /* Take full width on mobile */
    padding: 15px;
  }
}

/* ✅ Form Section Boxes */
.student-details-box,
.details-box,
.form-box,
.stud-box,
.gdn-box,
.transport-details-box {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  padding: 20px;
  margin-top: 20px;
  border: 1px solid #e0e0e0;
}

/* ✅ Input Fields */
.student-input,
.student-select,
.student-textarea,
.form-input,
.stud-input,
.gdn-input,
.transport-input,
.input-field {
  border: 1px solid #ced4da;
  border-radius: 6px;
  padding: 10px;
  font-size: 14px;
  background: white;
}

/* ✅ Labels */
.form-label {
  color: #1b2a4e;
  font-size: 14px;
  font-weight: bold;
}

/* ✅ Buttons */
.submit-btn {
  background: #40aa40;
  color: white;
  font-weight: 600;
  padding: 12px 25px;
  font-size: 16px;
  border: none;
  border-radius: 8px;
  transition: background 0.3s ease, transform 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
  text-align: center;
  
}

.submit-btn:hover
 {
  background: #14203b;
  transform: scale(1.05);
}

/* ✅ Input Group Icons */
.input-group-text {
  background: #1b2a4e;
  color: white;
  border: none;
}

/* ✅ Responsive Columns */
@media (max-width: 992px) {
  /* .col-md-4 { */
    /* width: 50%; */
  }


@media (max-width: 768px) {
  .col-md-4 {
    width: 100%;
  }

  .save-btn,
  .submit-btn,
  .transport-btn {
    width: 100%;
    font-size: 14px;
    padding: 10px;
  }
}

footer {
  font-size: 0.9rem;
  color: #6c757d;
}

/* ==============================================END ADMISSION CSS=========================================================== */


/* =============================================START BULK IMPORT======================================================================== */

.custom-main-content {
  margin-top: 37px; /* Adjust for fixed top navbar and running note */
  margin-left: 240px; /* Width of sidebar */
  padding: 20px;
  min-height: calc(100vh - 100px);
  background-color: #f5f6fa;
  width: calc(100% - 240px);
  box-sizing: border-box;
}

/* 🔷 Page Title */
.custom-page-title {
  font-size: 42px;
  color: #1b2a4e;
  margin: 0;
}

/* 🔷 Home Icon */
.custom-home-icon {
  font-size: 18px;
  color: #1b2a4e;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.custom-home-icon:hover {
  transform: scale(1.1);
}

/* 🔷 Bulk Import Container */
.multiple-import-container {
  background-color: #f9f9f9;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* Instruction Box */
.multiple-import-box {
  background-color: #ffffff;
  border-left: 5px solid #28a745;
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 30px;
  font-size: 15px;
  color: #333;
}

/* Download Button */
.bulk-import-actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 20px;
}

.bulk-btn {
  background-color: #28a745;
  color: #fff;
  padding: 10px 16px;
  font-weight: 500;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.bulk-btn i {
  margin-right: 8px;
}

.bulk-btn:hover {
  background-color: #0056b3;
}

/* Form Layout */
.import-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.form-group {
  flex: 1 1 48%;
  display: flex;
  flex-direction: column;
}

.form-group label {
  font-weight: 500;
  margin-bottom: 6px;
  color: #1b2a4e;
}

.form-control,
.form-select {
  padding: 10px 12px;
  font-size: 14px;
  border-radius: 6px;
  border: 1px solid #ccc;
  background-color: #fff;
  transition: border-color 0.3s ease;
}

.form-control:focus,
.form-select:focus {
  border-color: #007bff;
  outline: none;
}

/* Submit Button */
.import-form .btn {
  background-color: #28a745;
  color: #fff;
  padding: 10px 24px;
  font-weight: 600;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  align-self: center;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: background-color 0.3s ease;
  width: 100%;
  justify-content: center;
}

.import-form .btn:hover {
  background-color: #218838;
}

/* 🔁 Responsive Styles */
@media (max-width: 992px) {
  .custom-page-title {
    font-size: 30px;
  }

  .custom-home-icon {
    font-size: 18px;
  }
}

@media (max-width: 768px) {
  .custom-main-content {
    margin-left: 0;
    margin-top: 31px;
    width: 100%;
    padding: 15px;
  }

  .custom-page-title {
    font-size: 26px;
  }

  .custom-home-icon {
    font-size: 16px;
  }

  .form-group {
    flex: 1 1 100%;
  }

  .bulk-import-actions {
    justify-content: center;
  }

  .bulk-btn {
    width: 100%;
    text-align: center;
  }

  .import-form .btn {
    width: 100%;
  }
}

@media (max-width: 576px) {
  .custom-page-title {
    font-size: 28px;
  }

  .custom-home-icon {
    font-size: 14px;
  }
}
footer {
  font-size: 0.9rem;
  color: #6c757d;
}

/*============================================== END BULK IMPORT ==================================================*/
/* === Main Content Wrapper === */
/* === Student Form Wrapper Main Container === */
.student-form-wrapper {
  box-sizing: border-box;
  padding: 1rem;
}

/* === Card Header Styling === */
.student-form-wrapper .card-header,
.student-card-header {
  background-color: #000;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  padding: 0.75rem 1rem;
  border-radius: 6px 6px 0 0;
  display: flex;
  align-items: center;
}

.select-ground-header:hover {
  color: #28a745 !important;
  cursor: pointer;
}

/* === Form Labels === */
.student-form-wrapper .form-label {
  font-size: 0.875rem;
  font-weight: 600;
}

/* === Form Inputs === */
.student-form-wrapper .form-control,
.student-form-wrapper .form-select {
  font-size: 0.875rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid #ccc;
  border-radius: 0.4rem;
  transition: border-color 0.2s ease-in-out;
}

.student-form-wrapper .form-control:focus,
.student-form-wrapper .form-select:focus {
  box-shadow: none;
  border-color: #007bff;
}

/* === Submit / Extract Button === */
.student-form-wrapper .student-btn {
  background-color: #28a745;
  color: #fff;
  font-weight: 500;
  padding: 10px 24px;
  border: none;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.student-form-wrapper .student-btn:hover {
  background-color: #00cc44;
}

/* === Student Table === */
.student-form-wrapper table {
  width: 100%;
  border-collapse: collapse;
}

.student-form-wrapper table th,
.student-form-wrapper table td {
  vertical-align: middle;
  text-align: center;
  font-size: 0.875rem;
  padding: 10px;
}

.student-form-wrapper table img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 50%;
}

.student-form-wrapper .table-responsive {
  overflow-x: auto;
}

/* === Status Badges === */
.status-badge {
  padding: 0.35em 0.65em;
  font-size: 0.75rem;
  border-radius: 0.25rem;
  font-weight: 600;
}

/* === Action Buttons === */
.student-action-btns .btn {
  padding: 0.35rem 0.6rem;
  font-size: 0.75rem;
  transition: transform 0.2s ease;
}

.student-action-btns .btn:hover {
  transform: scale(1.1);
}

/* === DataTable Buttons === */
#studentTable_wrapper .dt-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1rem 0;
  justify-content: end;
}

.dataTables_wrapper .dt-buttons button {
  font-size: 0.75rem;
}

/* === Card Header Text === */
.card-header span {
  font-size: 1rem;
}

/* === Footer === */
.student-footer {
  font-size: 0.75rem;
  color: #6c757d;
  text-align: center;
  padding-top: 10px;
  border-top: 1px solid #ddd;
  margin-top: 40px;
}

/* === Responsive Adjustments === */
@media (max-width: 992px) {
  .student-form-wrapper {
    /* padding: 1rem 1rem 2rem; */
    overflow-x: hidden;
    width: 100%;
  }

  .student-form-wrapper .card-header {
    text-align: center;
    font-size: 1rem;
    justify-content: center;
  }

  .student-form-wrapper .student-btn {
    width: 100%;
    display: block;
    font-size: 0.9rem;
  }

  .student-form-wrapper .form-control,
  .student-form-wrapper .form-select {
    font-size: 0.85rem;
    padding: 0.45rem 0.75rem;
  }

  .student-form-wrapper table th,
  .student-form-wrapper table td {
    font-size: 0.75rem;
    padding: 8px;
  }

  #studentTable_wrapper .dt-buttons {
    justify-content: center;
  }
}

@media (max-width: 576px) {
  .student-form-wrapper {
    padding: 1rem 0.75rem;
  }

  .student-form-wrapper .form-label {
    font-size: 0.8rem;
  }

  .student-form-wrapper .student-btn {
    font-size: 0.85rem;
  }

  .student-form-wrapper table img {
    width: 48px;
    height: 48px;
  }

  .student-footer {
    font-size: 0.65rem;
  }
}



/*=========================================================== START CHANGE PASSWORD ============================================*/

/* Wrapper */
.change-password-wrapper {
  min-height: 85vh;
}

.change-pass-img {
  max-width: 80%;
  border-radius: 10px;
  box-shadow: 0 0 20px rgba(0, 255, 0, 0.2);
}

.change-password-card {
  background-color: #111;
  border: 1px solid #333;
  border-radius: 15px;
  transition: all 0.3s ease;
}

.change-password-card:hover {
  box-shadow: 0 0 25px rgba(0, 255, 0, 0.2);
}

.dark-input {
  background-color: #222;
  color: white;
  border: 1px solid #444;
  transition: 0.3s ease;
}

.dark-input:focus {
  background-color: #000;
  border-color: #0f0;
  box-shadow: 0 0 5px #0f0;
  color: #0f0;
}

.glow-btn {
  border: none;
  transition: all 0.3s ease-in-out;
}

.glow-btn:hover {
  background-color: #0f0;
  color: #000;
  box-shadow: 0 0 15px #0f0, 0 0 30px #0f0;
}

@media (max-width: 768px) {
  .change-pass-img {
    max-width: 60%;
    margin-bottom: 20px;
  }

  .change-password-card {
    padding: 20px;
  }
}
 /*============================================================================ ENDchange password ==========================  */

/* ===================================================START LOGIN-DEACTIVATE ================================ */
.card {
  border: none;
  border-radius: 10px;
  overflow: hidden;
}

.card-header {
  background-color: #000;
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
  padding: 0.75rem 1rem;
}

.card-header i {
  color: #28a745;
}

.card-body {
  background-color: #fff;
  /* padding: 1.5rem; */
  border-radius: 0 0 10px 10px;
}

/* === Form Styling === */
.form-label {
  font-weight: 600;
}

/* === Button Styling === */
.custom-extract {
  background-color: #28a745;
  color: #fff;
  font-weight: 500;
  padding: 10px 24px;
  border: none;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.custom-extract:hover {
  background-color: #00cc44;
  color: #fff;
  box-shadow: 0 0 0 2px #2d603940;
}

/* === Table Styling === */
.table td,
.table th {
  vertical-align: middle;
  text-align: center;
}

.table img {
  border-radius: 50%;
  object-fit: cover;
}

/* === Table Badge Styling === */
.badge.bg-success {
  background-color: #28a745 !important;
}
.badge.bg-danger {
  background-color: #dc3545 !important;
}

/* === Responsive Table === */
.table-responsive {
  width: 100%;
  overflow-x: auto;
}

/* === Footer === */
footer {
  font-size: 0.875rem;
  color: #6c757d;
}

/* === Toggle Switch Styling === */
.form-check.form-switch {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.form-check-input {
  width: 2.5em;
  height: 1.5em;
  background-color: #ccc;
  border: none;
  transition: 0.3s;
}

.form-check-input:checked {
  background-color: #28a745;
}

/* === Collapsible Section Button === */
.btn-link {
  color: #28a745;
  font-weight: 600;
  text-decoration: none;
}

.btn-link:hover {
  text-decoration: underline;
  color: #218838;
}

/* === Modal Styling === */
.modal-header {
  background-color: #28a745;
  color: #fff;
}

.modal-footer .btn-secondary {
  background-color: #6c757d;
  border: none;
}

.modal-footer .btn-secondary:hover {
  background-color: #5a6268;
}

/* === Search Filter === */
#searchInput {
  max-width: 300px;
}

/* === Responsive for devices under 768px === */
@media (max-width: 767.98px) {
  .main-content {
    margin-left: 0;
    padding: 1rem;
    width: 100%;
  }

  .card-body {
    padding: 1rem;
  }

  .btn.custom-blue,
  .btn.custom-extract {
    width: 100%;
  }

  .table {
    font-size: 0.875rem;
    min-width: 600px;
  }

  .table-responsive {
    overflow-x: auto;
  }

  #searchInput {
    width: 100%;
    margin-bottom: 10px;
  }
}
/* ===================================================END LOGIN-DEACTIVATE ================================ */

 /* ========================================================START TEACHER TIMETABLE ======================================*/
/* Main Wrapper */
.teacher-timetable-wrapper {
  background-color: #f9fbfd;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* Header */
.tt-header {
  font-size: 1.6rem;
  color: #000;
  border-color: #ddd;
}

/* Labels */
.tt-label {
  font-weight: 600;
  color: #34495e;
}

/* Form Fields */
.tt-select,
.tt-date {
  border-radius: 6px;
  border: 1px solid #ccc;
  transition: 0.3s ease;
}

.tt-select:focus,
.tt-date:focus {
  border-color: #3498db;
  box-shadow: 0 0 0 0.15rem rgba(52, 152, 219, 0.25);
}

/* Buttons */
.tt-btn-display {
  background-color: #28a745;
  color: #fff;
  font-weight: 600;
  border: none;
}

.tt-btn-display:hover {
  background-color: #00cc44;
}

.tt-btn-print {
  background-color: #28a745;
  color: #fff;
  font-weight: 600;
  border: none;
}

.tt-btn-print:hover {
  background-color: #00cc44;
}

/* Subtitle */
.tt-subtitle {
  margin-top: 2rem;
  font-size: 1.25rem;
  color: #2c3e50;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .timetable-form-row .col-md-3 {
    max-width: 100%;
    flex: 0 0 100%;
  }

  .tt-btn-display,
  .tt-btn-print {
    margin-top: 0.5rem;
  }
}
 /* ========================================================END TEACHER TIMETABLE ======================================*/
.teacher-attendance-wrapper {
  background: #fefefe;
  padding: 1.5rem;
  border-radius: 10px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}

.teacher-attendance-wrapper h3,
.teacher-attendance-wrapper h5 {
  color: #2c3e50;
}

.teacher-attendance-wrapper table th,
.teacher-attendance-wrapper table td {
  vertical-align: middle;
}

.teacher-attendance-wrapper .form-select-sm,
.teacher-attendance-wrapper .form-control-sm {
  font-size: 0.85rem;
  padding: 0.25rem 0.5rem;
}
/* =========================================================== */
/* === Wrapper and Container === */
.designation-wrapper {
  background-color: #f8f9fa;
  min-height: 100vh;
  padding: 1rem;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.designation-container {
  max-width: 100%;
}

/* === Card Styling === */
.designation-card {
  background-color: #ffffff;
  border-radius: 10px;
  border: none;
}

.designation-card-body {
  padding: 1.5rem;
}

/* === Add Button Styling === */
.designation-add-btn {
  background-color: #000;
  color: #fff;
  font-weight: 500;
  border-radius: 6px;
  padding: 0.5rem 1rem;
  transition: all 0.3s ease-in-out;
  border: none;
}

.designation-add-btn:hover {
  background-color: #00cc44;
  color: #fff;
}

/* === Table Styling === */
.designation-table-wrapper {
  overflow-x: auto;
}

.designation-table {
  width: 100%;
  border-collapse: collapse;
}

.designation-table thead {
  background-color: #e9ecef;
}

.designation-table th,
.designation-table td {
  text-align: center;
  vertical-align: middle;
  padding: 0.75rem;
  font-size: 0.95rem;
  border: 1px solid #dee2e6;
}

.designation-table tbody tr:hover {
  background-color: #f1f3f5;
}

/* === Action Buttons === */
.designation-table .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.85rem;
}

/* === Modal Customization === */
.modal-header {
  background-color: #28a745;
  color: #fff;
  border-bottom: none;
}

.modal-title {
  font-weight: 600;
}

.modal-body label {
  font-weight: 500;
}

/* === Responsive Tweaks === */
@media (max-width: 768px) {
  .designation-add-btn {
    width: 100%;
    margin-bottom: 1rem;
  }

  .designation-table-wrapper {
    overflow-x: auto;
  }
}
/* =================================================== */
/* === Contain DataTable within parent === */
.table-responsive {
  overflow-x: auto;
  width: 100%;
}

/* === Fix button + search box layout === */
div.dataTables_wrapper .dt-buttons {
  float: left;
  margin-bottom: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

div.dataTables_wrapper .dataTables_filter {
  float: right !important;
  text-align: right;
  margin-bottom: 1rem;
}

/* === Style the search input === */
div.dataTables_wrapper .dataTables_filter input {
  padding: 4px 10px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 14px;
  outline: none;
  width: 180px;
}

/* === DataTable Table Styling === */
table.dataTable {
  width: 100% !important;
  border-collapse: collapse;
}

table.dataTable thead th {
  white-space: nowrap;
  font-weight: 600;
  background-color: #f8f9fa;
  border-bottom: 2px solid #dee2e6;
  vertical-align: middle;
}

table.dataTable td,
table.dataTable th {
  text-align: center;
  vertical-align: middle;
}

/* === Responsive Pagination Layout === */
div.dataTables_wrapper .dataTables_length,
div.dataTables_wrapper .dataTables_paginate {
  padding-top: 10px;
}

/* === Responsive fix for small screens === */
@media (max-width: 768px) {
  div.dataTables_wrapper .dt-buttons,
  div.dataTables_wrapper .dataTables_filter {
    float: none !important;
    text-align: center !important;
    margin-bottom: 10px;
  }

  div.dataTables_wrapper .dataTables_filter input {
    width: 100%;
    max-width: 100%;
  }
}

/* =========================================================== START ADD DEPARTMENT=============================== */

.add-dept{
  background-color: #000;
  color: #fff;
}
.add-dept:hover{
  background: #00cc44;
  
}
/* =========================================================== END ADD DEPARTMENT=============================== */
  /* === General Card Style === */
  .card {
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  }

  /* === Table Header Styling === */
  table.dataTable thead th {
    background-color: #f1f1f1;
    color: #212529;
    font-weight: 600;
  }

  /* === Table Cell Vertical Align === */
  .table td, .table th {
    vertical-align: middle;
  }

  /* === DataTables Buttons Custom Colors === */
  .dt-buttons .btn {
    margin-right: 0.5rem;
    color: white !important;
    border: none !important;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 0.875rem;
  }

  .buttons-copy { background-color: #6c757d !important; }   /* Dark */
  .buttons-excel { background-color: #198754 !important; }  /* Success */
  .buttons-pdf { background-color: #dc3545 !important; }    /* Danger */
  .buttons-print { background-color: #0d6efd !important; }  /* Primary */

  /* === Filter + Pagination Alignment === */
  .dataTables_wrapper .dataTables_filter {
    float: right;
    margin-bottom: 1rem;
  }

  .dataTables_wrapper .dataTables_paginate {
    float: right;
    margin-top: 1rem;
  }

  /* === Modal Form Input Styling === */
  .modal .form-control {
    border-radius: 4px;
    font-size: 0.95rem;
  }

  .modal .form-label {
    font-weight: 500;
  }

  /* === Button Styles for Edit/Delete === */
  .btn-edit {
    background-color: #0d6efd;
    color: #fff;
    border: none;
    padding: 5px 10px;
  }

  .btn-delete {
    background-color: #dc3545;
    color: #fff;
    border: none;
    padding: 5px 10px;
  }

  /* === Previous/Next Button Icon Replacement === */
  .paginate_button.previous::before {
    content: "\f284"; /* bi-chevron-left */
    font-family: "Bootstrap-icons";
    margin-right: 5px;
  }

  .paginate_button.next::after {
    content: "\f285"; /* bi-chevron-right */
    font-family: "Bootstrap-icons";
    margin-left: 5px;
  }

  /* Optional: Hover effect for table action buttons */
  .btn-edit:hover,
  .btn-delete:hover {
    opacity: 0.9;
  }

  /* Optional: Modal title font */
  .modal-title {
    font-weight: 600;
  }

/* =============================caterory */
.book-category-card {
  border-radius: 0.5rem;
  background-color: #fff;
}

.book-category-title {
  font-size: 1.25rem;
}

.book-category-add-btn {
  min-width: 180px;
}

.book-category-table table {
  font-size: 0.95rem;
}

.book-category-edit-btn {
  background-color: #ffc107;
  color: #000;
}

.book-category-delete-btn {
  background-color: #dc3545;
  color: #fff;
}

.book-category-modal-header {
  background-color: #0d6efd;
  color: #fff;
}

.book-category-modal .modal-title {
  color: #fff;
}

.book-category-modal-footer .btn {
  min-width: 100px;
}

.book-category-tools {
  gap: 1rem;
}
/*=========================================================== visitor html  */

  .visitor-table-wrapper .dataTables_paginate {
    display: none !important;
  }


/* ===============================================================START CALENDER */

  #holidayCalendar {
    min-height: 500px;
  }

  @media (max-width: 767.98px) {
    #holidayCalendar {
      min-height: 400px;
    }

    .table-responsive {
      overflow-x: auto;
    }

    .fc-header-toolbar {
      flex-direction: column;
      gap: 0.5rem;
    }

    .fc-toolbar-chunk {
      justify-content: center;
      width: 100%;
    }

    .fc-toolbar-title {
      font-size: 1.1rem;
      text-align: center;
    }
  }

  /* Optional: Smaller modal form on mobile */
  @media (max-width: 576px) {
    .modal-dialog {
      margin: 1rem;
    }

    .modal-content {
      font-size: 0.9rem;
    }

    .modal-title {
      font-size: 1.1rem;
    }
  }



.emp-deactivate-btn{
  background-color: #28a745;
  color: #fff;
}
.emp-deactivate-btn:hover{
  background-color: #00cc44;
}



.custom-tab-active {
      background-color: #0d6efd;
      color: #fff !important;
    }
    .custom-tab-inactive {
      background-color: #f8f9fa;
      color: #000 !important;
    }
    .tab-pane { display: none; }
    .tab-pane.active { display: block; }



        .section-header {
  font-size: 1.25rem; /* 20px */
  font-weight: bold;
  margin-bottom: 1rem;
  padding: 0.75rem;
  background-color: #f8f9fa;
  border-left: 5px solid #00bcd4;
}

.box {
  border: 1px solid #ddd;
  border-radius: 0.5rem;
  background-color: #fff;
  padding: 1rem;
  margin-bottom: 2rem;
}

.box-title {
  background: #27c6d9;
  color: #fff;
  padding: 0.5rem 0.75rem;
  font-weight: 600;
  font-size: 1rem;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  margin-bottom: 0.75rem;
}

.btn-icon {
  width: 2.5rem;
  padding: 0.25rem 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dataTables_wrapper .dt-buttons {
  margin-bottom: 0.75rem;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* Responsive tweaks */
@media (max-width: 768px) {
  .box-title {
    font-size: 0.95rem;
    text-align: center;
  }

  .btn-icon {
    width: auto;
    padding: 0.5rem;
  }

  .section-header {
    font-size: 1.1rem;
    padding: 0.5rem;
    text-align: center;
  }

  .dataTables_wrapper .dt-buttons {
    justify-content: center;
  }
}

@media (max-width: 576px) {
  .section-header,
  .box-title {
    font-size: 1rem;
    padding: 0.5rem;
  }

  .btn {
    font-size: 0.85rem;
    padding: 0.4rem 0.75rem;
  }

  .box {
    padding: 0.75rem;
  }

  .btn-icon {
    width: auto;
    font-size: 1rem;
  }

  .dataTables_wrapper .dt-buttons {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}



.account-statement-card {
      border-radius: 1rem;
    }
    .table th, .table td {
      vertical-align: middle;
      text-align: center;
    }
    .rounded-circle {
      object-fit: cover;
    }




      .summary-box {
      border-radius: 1rem;
      padding: 1.5rem;
      color: white;
      box-shadow: 0 4px 8px rgba(0,0,0,0.1);
      transition: transform 0.2s ease-in-out;
    }
    .summary-box:hover {
      transform: translateY(-5px);
    }
    .summary-icon {
      font-size: 2rem;
    }
    .summary-value {
      font-size: 1.6rem;
      font-weight: bold;
    }
    canvas {
      max-height: 320px;
    }




/* ====== Summary Card Backgrounds and Text Color ====== */
.income-card .dashboard-card-body {
  background: linear-gradient(135deg, #28a745, #1e7e34);
  color: #ffffff;
  border-radius: 1rem;
  padding: 1.5rem;
}

.expense-card .dashboard-card-body {
  background: linear-gradient(135deg, #dc3545, #bd2130);
  color: #ffffff;
  border-radius: 1rem;
  padding: 1.5rem;
}

.balance-card .dashboard-card-body {
  background: linear-gradient(135deg, #007bff, #0056b3);
  color: #ffffff;
  border-radius: 1rem;
  padding: 1.5rem;
}

/* ====== Typography inside Summary Cards ====== */
.dashboard-card-body h5 {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.dashboard-card-body h3 {
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0;
}

/* ====== Chart & Table Wrapper ====== */
.dashboard-box-body {
  padding: 1.5rem;
  background-color: #ffffff;
  border-radius: 0 0 0.75rem 0.75rem;
  overflow-x: auto;
}

/* ====== Chart Canvas ====== */
.dashboard-box-body canvas {
  width: 100% !important;
  height: auto !important;
  max-width: 100%;
}

/* ====== Table Styling ====== */
.dashboard-box-body table {
  font-size: 0.95rem;
  width: 100%;
  min-width: 600px;
  table-layout: auto;
  white-space: nowrap;
}

/* ====== Badge Styling ====== */
.dashboard-box-body .badge {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.35em 0.6em;
  border-radius: 0.4rem;
}

/* ====== Responsive Design ====== */
@media (max-width: 768px) {
  .dashboard-card-body,
  .dashboard-box-body {
    padding: 1rem;
  }

  .dashboard-card-body h5,
  .dashboard-box-body h5 {
    font-size: 0.95rem;
  }

  .dashboard-card-body h3,
  .dashboard-box-body h3 {
    font-size: 1.4rem;
  }

  .dashboard-box-body table {
    min-width: 500px;
  }
}

@media (max-width: 480px) {
  .dashboard-card-body h3 {
    font-size: 1.2rem;
  }

  .dashboard-card-body h5 {
    font-size: 0.9rem;
  }

  .dashboard-box-body {
    padding: 0.75rem;
  }
}



    #receiptCard {
      background-color: #ffffff;
      padding: 20px;
    }
    .receipt-header {
      text-align: center;
      border-bottom: 2px solid #007bff;
      margin-bottom: 15px;
      padding-bottom: 10px;
    }
    .receipt-logo {
      height: 60px;
      margin-bottom: 5px;
    }
    .receipt-title {
      font-size: 22px;
      font-weight: bold;
      color: #007bff;
    }




   .modal-body p{
    color: #000;
   }


    
    .notice-card {
      border-left: 4px solid #0d6efd;
      border-radius: 0.5rem;
      transition: 0.3s;
      background: #cbc9c9;
    }
    .notice-card:hover {
      box-shadow: 0 6px 18px rgba(0,0,0,0.08);
    }
    .notice-date {
      font-size: 0.9rem;
      font-weight: 600;
      color: #6c757d;
    }
    .notice-icon {
      font-size: 1.3rem;
      color: #0d6efd;
      margin-right: 10px;
    }
    .notice-content {
      font-size: 0.95rem;
      color: #495057;
    }
    .notice-badge {
      font-size: 0.75rem;
      padding: 3px 8px;
    }

  #logoPreview {
      max-height: 60px;
      display: none;
    }


    .permission-pill {
      display: inline-block;
      /* margin: 5px; */ 
      padding: 6px 12px;
      background-color: #e9ecef;
      border-radius: 30px;
      cursor: pointer;
      font-size: 14px;
    }
    .permission-pill.active {
      background-color: #198754;
      color: white;
    }
    .form-icon {
      margin-right: 5px;
    }

      .section-title {
      background-color: #c3afaf;
      padding: 10px 15px;
      border-left: 5px solid #0d6efd;
      margin-bottom: 20px;
      font-weight: 600;
    }


  .bonafide-box {
  max-width: 100%;
  width: 100%;
  max-width: 850px;
  margin: auto;
  border: 2px solid #000;
  background-color: #fff;
}
.bonafide-title {
  font-size: 28px;
  font-weight: bold;
  text-decoration: underline;
}
.bonafide-body {
  font-size: 18px;
  line-height: 1.7;
}
.bonafide-body p{
  color: #000000;
}
.bonafide-footer p{
  color: #000;
}




.tc-box {
  width: 100%;
  max-width: 850px;
  margin: auto;
  border: 2px solid #000;
  background-color: #fff;
  padding: 40px;
}

.tc-title {
  font-size: 28px;
  font-weight: bold;
  text-decoration: underline;
  color: #000;
}

.tc-body {
  font-size: 18px;
  line-height: 1.7;
  color: #000;
}
.tc-body p{
  color: #000;
}

.tc-footer p {
  color: #000;
}


.conduct-box {
  width: 100%;
  max-width: 850px;
  margin: auto;
  border: 2px solid #000;
  background-color: #fff;
  padding: 40px;
}

.conduct-title {
  font-size: 28px;
  font-weight: bold;
  text-decoration: underline;
  color: #000;
}

.conduct-body {
  font-size: 18px;
  line-height: 1.7;
  color: #000;
}
.conduct-body p{
    color: #000;


}
.conduct-footer p {
  color: #000;
}

.character-box {
  width: 100%;
  max-width: 850px;
  margin: auto;
  border: 2px solid #000;
  background-color: #fff;
  padding: 40px;
}

.character-title {
  font-size: 28px;
  font-weight: bold;
  text-decoration: underline;
  color: #000;
}

.character-body {
  font-size: 18px;
  line-height: 1.7;
  color: #000;
}
.character-body{
    color: #000;

}
.character-footer p {
  color: #000;
}

.custom-certificate-box {
  max-width: 850px;
  margin: auto;
  border: 2px solid #000;
  background-color: #fff;
  padding: 40px;
}

.custom-title {
  font-size: 26px;
  font-weight: bold;
  text-decoration: underline;
  color: #000;
}

.custom-body {
  font-size: 18px;
  line-height: 1.7;
  color: #000;
}
.custom-body p{
  color: #000; 
}
.custom-footer p {
  color: #000;
}

.clc-box {
  max-width: 850px;
  margin: auto;
  border: 2px solid #000;
  background-color: #fff;
  padding: 40px;
}
.clc-title {
  font-size: 26px;
  font-weight: bold;
  text-decoration: underline;
  color: #000;
}
.clc-body {
  font-size: 18px;
  line-height: 1.7;
  color: #000;
}
.clc-body p{
  color: #000;
}
.clc-footer p {
  color: #000;
}


.migration-box {
  max-width: 850px;
  margin: auto;
  border: 2px solid #000;
  background-color: #fff;
  padding: 40px;
}
.migration-title {
  font-size: 26px;
  font-weight: bold;
  text-decoration: underline;
  color: #000;
}
.migration-body {
  font-size: 18px;
  line-height: 1.7;
  color: #000;
}
.migration-body  p{
  color: #000;
}
.migration-footer p {
  color: #000;
}


.marksheet-box {
  max-width: 850px;
  margin: auto;
  border: 2px solid #000;
  background-color: #fff;
  padding: 40px;
}
.marksheet-title {
  font-size: 26px;
  font-weight: bold;
  text-decoration: underline;
  color: #000;
}
.marksheet-body, .marksheet-body p {
  font-size: 18px;
  color: #000;
}
.marksheet-footer p {
  color: #000;
}


.modal-header {
  background-color: black !important;
}
