@font-face {
  font-family: 'Poppins';
  src: url('vendor/fonts/poppins/Poppins-Regular.ttf') format('truetype'),
       url('vendor/fonts/poppins/Poppins-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Poppins';
  src: url('/vendor/fonts/poppins/Poppins-Bold.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
}

body {
  font-family: 'Poppins', sans-serif;
}


.alert-message {
    border-radius: 5px;
    padding: 12px 15px;
    margin-bottom: 20px;
}

.is-invalid {
    border-color: #dc3545 !important;
}

.invalid-feedback {
    display: block;
    color: #dc3545;
    font-size: 0.875em;
    margin-top: 0.25rem;
}
   #studentTable tbody tr:hover {
        background: #fafafa;
        cursor: pointer;
    }
/* Loading animation */
button:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}


    /* Smooth card hover */
    .card {
        border-radius: 14px !important;
        transition: all .2s ease-in-out;
    }
    .card:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 22px rgba(0,0,0,0.10);
    }

    /* Improve modal styling */
    .modal-content {
        border-radius: 12px !important;
        border: none;
    }

    /* Form improvements */
    .form-control {
        border-radius: 10px;
        padding: .65rem .9rem;
        font-size: 15px;
    }

    label {
        font-weight: 600;
        color: #444;
    }

    h6.text-warning {
        letter-spacing: 1px;
        margin-bottom: 15px;
    }

    /* Buttons */
    .btn-warning, .btn-dark, .btn-primary {
        border-radius: 10px;
        font-weight: 600;
        padding: .55rem 1.2rem;
    }
    .btn-warning:hover {
        background-color: #c98400;
    }

    /* Table */
    table.table th {
        background: #f7f7f7;
        font-weight: 700;
        text-transform: uppercase;
        border-bottom: 2px solid #eee;
        color: #222;
    }
    table.table td {
        vertical-align: middle;
    }

    /* Dashboard numbers */
    .h5.mb-0 {
        font-size: 26px;
    }

    /* Modal card header */
    .modal-header small {
        font-weight: bold;
        letter-spacing: 1px;
        color: #333;
    }

    /* Student card modal */
    .thumbnail {
        object-fit: cover;
    }

    /* Page title */
    h1.h3 {
        font-weight: 800;
        letter-spacing: .5px;
    }

    .container-fluid .card-header {
        border-radius: 12px 12px 0 0 !important;
    }

    #printPdfBtn {
        border-radius: 10px;
    }



