 *{
      margin:0;
      padding:0;
      box-sizing:border-box;
    }

    body{
      font-family:'Poppins', sans-serif;
      overflow-x:hidden;
    }

    /* HERO SECTION */
    .hero{
      width:100%;
      min-height:100vh;
      background:
      linear-gradient(rgba(0,0,0,0.65), rgba(0,0,0,0.65)),
      url('../images/bg1.jpg');

      background-size:cover;
      background-position:center;
      background-repeat:no-repeat;

      display:flex;
      align-items:center;
      justify-content:center;

      position:relative;
    }

    /* NAVBAR */
    .navbar-custom{
      position:absolute;
      top:0;
      left:0;
      width:100%;
      padding:20px 0;
      z-index:1000;
    }

    .navbar-brand{
      color:#fff !important;
      font-size:30px;
      font-weight:700;
      letter-spacing:1px;
    }

    .nav-link{
      color:#fff !important;
      font-weight:500;
      margin-left:15px;
      transition:0.3s;
    }

    .nav-link:hover{
      color:#00d4ff !important;
    }

    /* HERO CONTENT */
    .hero-content{
      text-align:center;
      color:#fff;
      max-width:800px;
      padding:10px;
      animation:fadeIn 1.2s ease-in-out;
    }

    .hero-content h1{
      font-size:45px;
      font-weight:700;
      line-height:1.2;
      margin-bottom:10px;
    }

    .hero-content p{
      font-size:20px;
      color:#f1f1f1;
      margin-bottom:40px;
      line-height:1.8;
    }

    /* BUTTONS */
    .hero-buttons{
      display:flex;
      justify-content:center;
      gap:20px;
      flex-wrap:wrap;
    }

    .btn-custom{
      padding:15px 40px;
      border-radius:10px;
      font-size:18px;
      font-weight:600;
      text-decoration:none;
      transition:0.4s;
	  cursor: pointer;
    }

    .btn-register{
      background:#00d4ff;
      color:#000;
      border:none;
    }

    .btn-register:hover{
      background:#00b7db;
      transform:translateY(-3px);
      color:#000;
    }

    .btn-login{
      background:transparent;
      border:2px solid #fff;
      color:#fff;
    }

    .btn-login:hover{
      background:#fff;
      color:#000;
      transform:translateY(-3px);
    }

    /* GLASS CARD */
    .glass-card{
      margin-top:10px;
      margin-bottom:30px;
      background:rgba(255,255,255,0.08);
      backdrop-filter:blur(12px);
      border:1px solid rgba(255,255,255,0.15);
      padding:30px;
      border-radius:10px;
      display:inline-block;
      box-shadow:0 8px 32px rgba(0,0,0,0.25);
    }

    .glass-card h5{
      color:#fff;
      margin-bottom:10px;
      font-weight:600;
    }

    .glass-card p{
      font-size:15px;
      margin:0;
      color:#ddd;
    }

    /* ANIMATION */
    @keyframes fadeIn{
      from{
        opacity:0;
        transform:translateY(40px);
      }
      to{
        opacity:1;
        transform:translateY(0);
      }
    }

    /* RESPONSIVE */
    @media(max-width:992px){

      .hero-content h1{
        font-size:50px;
      }

      .hero-content p{
        font-size:18px;
      }

    }

    @media(max-width:768px){

      .hero-content h1{
        font-size:38px;
      }

      .hero-content p{
        font-size:16px;
      }

      .btn-custom{
        width:100%;
        max-width:280px;
      }

      .hero-buttons{
        flex-direction:column;
        align-items:center;
      }

      .navbar-brand{
        font-size:24px;
      }

    }
#pageOverlay{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:9999;

    display:flex;
    justify-content:center;
    align-items:center;
}

/* DARK BACKGROUND */
.overlay-background{
    position:absolute;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.7);
    backdrop-filter:blur(4px);
}

/* CONTENT BOX */
.overlay-content{
    position:relative;
    background:#fff;
    padding:20px;
    border-radius:15px;
    max-height:90vh;
    overflow-y:auto;
    z-index:2;
    animation:fadeIn 0.3s ease;
}

/* CLOSE BUTTON */
.close-btn{
    position:absolute;
    top:10px;
    right:15px;
    border:none;
    background:none;
    font-size:30px;
    cursor:pointer;
    color:#000;
}

/* ANIMATION */
@keyframes fadeIn{
    from{
        opacity:0;
        transform:scale(0.9);
    }

    to{
        opacity:1;
        transform:scale(1);
    }
}
.course-registration-box {
  color: #fff;
}

.course-count-box {
  background: #0f172a;
  border: 1px solid rgba(56, 189, 248, 0.25);
  border-radius: 16px;
  padding: 12px 18px;
  min-width: 190px;
}

.course-table {
  border-radius: 16px;
  overflow: hidden;
}

.course-table thead tr {
  background: #0f172a;
}

.course-table th {
  color: #94a3b8;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.course-table td {
  padding: 16px;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

.course-row {
  cursor: pointer;
  transition: all 0.25s ease;
}

.course-row:hover {
  background: #1e293b !important;
}

.course-row.selected-course {
  background: rgba(34, 197, 94, 0.18) !important;
  border-left: 4px solid #22c55e;
}

.course-row.selected-course td {
  color: #ffffff;
}

.course-status {
  background: #334155;
  color: #cbd5e1;
  font-weight: 500;
}

.course-row.selected-course .course-status {
  background: #22c55e;
  color: #fff;
}

.book-row.selected-book {
    background-color: rgba(25, 135, 84, 0.25) !important;
}

.book-row.selected-book td {
    color: #ffffff !important;
}
.book-row.selected-book .book-status {
  background: #22c55e;
  color: #fff;
}
.selected-book {
  background: #22c55e;
  color: #fff;
}
/* Bring Alertify above dashboard overlay */
.alertify-notifier,
.alertify-notifier.ajs-top,
.alertify-notifier.ajs-bottom {
  z-index: 999999 !important;
}

.alertify,
.alertify .ajs-modal,
.alertify .ajs-dimmer {
  z-index: 999999 !important;
}
/* Alertify confirm/dialog */
.alertify {
    z-index: 10000000 !important;
}

.alertify .ajs-dimmer {
    z-index: 100000 !important;
}

.alertify .ajs-modal {
    z-index: 100001 !important;
}

/* Alertify toast messages */
.alertify-notifier {
    z-index: 100002 !important;
}
#pageOverlay {
    position: fixed;
    inset: 0;
    z-index: 9990;
}

.overlay-background {
    position: fixed;
    inset: 0;
    z-index: 9991;
}

.overlay-content {
    position: relative;
    z-index: 9992;
}
