

    .login-card {
      background-color: rgba(255, 255, 255, 0.95);
      padding: 3rem;
      border-radius: 0.75rem;
      box-shadow: 0 0 30px rgba(0, 0, 0, 0.25); /* Enhanced shadow */
      backdrop-filter: blur(6px);
    }

    .brand-color {
      color: #007A4D; /* Adjusted to match your background green */
    }

    .btn-microsoft {
      background-color: #0078D4;
      border: none;
    }

    .btn-microsoft:hover {
      background-color: #005A9E;
    }

    .section-title {
    font-weight: 600;
    border-bottom: 2px solid #000; /* solid black border */
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}


#tableSearch {
        min-width: 200px;
        }

        #downloadCSV {
            white-space: nowrap;
        }

    /* Make Sidebar Collapsible */
    @media (max-width: 768px) {
        .sidebar {
            width: 100%;
            height: auto;
            position: relative;
        }

        .main-content {
            padding: 10px;
        }
    }

        /* Ensure sidebar and main content align properly */
        .wrapper {
            display: flex;
            flex-wrap: nowrap;
            min-height: 100vh;
        }

        /* Sidebar Styling */
        .sidebar {
            width: 280px;
            min-height: 100vh;
            background-color: #343a40;
            color: white;
        }

        /* Main Content should take remaining space */
        .main-content {
            flex-grow: 1;
            padding: 20px;
            overflow-x: hidden; /* Prevent content overflow */
        }

        /* Ensure table does not overflow */
        .table-responsive {
            overflow-x: auto;
            max-width: 100%;
            white-space: nowrap;
        }
        .dimmed-row {
            background-color: #f1f1f1 !important;  /* Light gray background */
            color: #6c757d !important;             /* Muted text */
            opacity: 0.7;
        }

        .dimmed-row input[type="checkbox"] {
            cursor: not-allowed;
        }

        .sticky-controls {
    position: sticky;
    top: 0;
    z-index: 1020;
    background: #fff;
    padding: .75rem 1rem;
    margin: -1rem -1rem 1rem;  /* stretch to card edges when inside container */
    border-bottom: 1px solid #eee;
  }
  .section-title {
    display:flex; align-items:center; gap:.5rem;
  }
  .section-title .count-pill {
    font-size:.85rem; padding:.2rem .5rem;
  }
  .card-session .card-header {
    background:#f8f9fa;
    font-weight:600;
  }
  .muted-label { color:#6c757d; font-size:.9rem; }
  .w-38 { width:38px; } /* tiny helper for compact badges, optional */


.card-session:hover {
  transform: translateY(-4px);
  box-shadow: 0 0.75rem 1.25rem rgba(0,0,0,0.15);

  cursor: pointer;
    border: 2px solid #dee2e6; /* subtle grey border */
  background-color: #f1f3f5; /* slightly darker grey */
}

.card-session {
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
