@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Anek+Bangla:wght@100..800&display=swap');
:root {
    --primary-color: #0CAF60;
    --primary-linear-gradient: linear-gradient(141.55deg, #0CAF60 3.46%, #0CAF60 99.86%), #0CAF60;
    --bn-font: "Anek Bangla", sans-serif;
}

body {
    font-family: "Open Sans", sans-serif;
    margin:0;
    padding:0;
    outline: 0;
    font-size: 15px;
}

a {
    text-decoration: none;
    color:#333333;
}
h1, h2, h3, h4, h5, h6 {
    margin:0;
    padding:0;
}
p {
    margin:0;
    padding:0;
}

h4, .h4 {
    font-size: 1.25rem;

}
input, input:focus, select, select:focus {
    height: 42px;
    box-shadow: 0 0 !important;
    outline: 0 !important;
    bordar-color: none !important;
}
.form-check-input[type=checkbox] {
    width: 18px !important;
    height: 18px !important;
}
button{
    border: 0 !important;
}
.parsley-error {
    border-color: #f50000;
}
.parsley-required,.parsley-type{
    color: #f50000;
}
.select2 {
    height: 42px !important;
    line-height: 30px !important;
}
.select2-selection {
    height: 42px !important;
    line-height: 25px !important;
    border-color: #ddd !important;
}
.select2-results__option {
    display: block;
}
.select2-selection__choice {
    background: blue !important;
}
.select2-selection__choice__display {
    color: #fff;
}
.select2-selection__choice__remove {
    color: #fff !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 38px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px;
}
.circle_img{
    height: 50px;
    width: 50px;
    border-radius: 50%;
    margin-top:5px;
    margin-right: 5px;
}
.form-label {
    font-weight: 500;
}
.form-switch .form-check-input[type=checkbox] {
    height: 25px !important;
    width: 50px !important;
}

.form-check.form-switch {
    display: flex;
    align-items: center;
    gap: 5px;
}

.dropify-wrapper .dropify-message p {
    font-size: 15px;
    font-weight: 600;
}
input.dropify {
    height: 100%;
    width: 100%;
    display: block;
}
label.form-label span {
    color: #ff1616;
}
.wsit-navbar {
    padding-left: 0;
}
.onlyweb-check input, .onlyweb-check input:hover {
    width: auto !important;
    height: auto !important;
    margin-right: 5px;
}
/*==== LOGIN CSS START ====*/
.auth-container {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    min-width: 100%;
    min-height: 100vh;
    background: #75C151 !important;
}
.login-form {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 500px;
    background: #fff;
    padding: 50px;
    border-radius: 5px;
}
.login-form h4 {
    font-weight: 700;
    margin-bottom: 9px;
}

.login-form p {
    margin-bottom: 30px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 15px;
    text-transform: uppercase;
    font-size: 14px;
    color: #555;
}
.submit-btn {
    display: block;
    width: 100%;
    text-align: center;
    background: #75C151 !important;
    height: 42px;
    color: #fff;
    text-transform: capitalize;
    font-weight: 500;
    border-radius: 5px;
}
.sm-form input, .sm-form input:focus, .sm-form input:hover {
    border: 2px solid #ddd;
    width: 100px;
    height: 30px;
    padding: 0 6px;
}
/*==== LOGIN CSS END ====*/

/*==========Main Css ===========*/

.announcement {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #013D29;
    padding: 11px;
    color: #fff;
    z-index: 1026;
}
.announcement a {
    text-align: center;
    font-size: 17px;
    text-transform: capitalize;
    color: #fff;
    transition: all .2s ease;
}

.announcement p {
   transition: all .2s ease;
}
.announcement p:hover {
    transform: scale(1.2);
}

.wsit-sidebar {
    box-shadow: 0 1px 20px 0 rgba(69, 90, 100, 0.08);
    width: 255px;
    position: fixed;
    top: 0px;
    bottom: 0;
    z-index: 1026;
    overflow-y: auto;
}

.wsit-submenu {
    display: none;
}

ul.wsit-navbar li {
    display: block;
}

.wsit-arrow svg{
    transition: all 0.2s ease-in-out;
}

.rotated {
    transform: rotate(90deg);
    transition: transform 0.2s ease-in-out;
}

.wsit-sidebar .main-logo {
    height: 70px;
    display: flex;
    align-items: center;
    padding: 15px 20px 5px;
    justify-content: center;
    margin-bottom: 25px;
    border-bottom: 1px solid #ddd;
}

.wsit-sidebar .main-logo a img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    max-width: 135px;
}
.wsit-sidebar .wsit-link {
    display: block;
    padding: 13px 20px;
    position: relative;
    font-size: 13px;
    font-weight: 600;
}

.wsit-sidebar .wsit-navbar > .wsit-item > .wsit-link {
    border-radius: 12px;
    margin-left: 15px;
    margin-right: 15px;
    padding: 7px 10px 7px 7px;
    display: flex;
    align-items: center;
}
.wsit-sidebar .wsit-icon {
    margin-right: 15px;
    border-radius: 12px;
    height: 35px;
    width: 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    background: #fff;
    box-shadow: -3px 4px 23px rgba(0, 0, 0, 0.1);
}
.wsit-sidebar .wsit-icon i {
    font-size: 18px;
}
.wsit-sidebar .wsit-arrow {
    float: right;
    display: inline-block;
    transition: all 0.2s ease-in-out;
}
.wsit-sidebar .wsit-link .wsit-text {
    flex: 1;
}
.wsit-sidebar .wsit-submenu .wsit-link {
    font-weight: 500;
    padding: 10px 22px !important;
}

.wsit-sidebar .wsit-navbar > .wsit-item.active > .wsit-link,
.wsit-sidebar .wsit-navbar > .wsit-item:active > .wsit-link,
.wsit-sidebar .wsit-navbar > .wsit-item:focus > .wsit-link, 
.wsit-sidebar .wsit-navbar > .wsit-item:hover > .wsit-link, 
.wsit-sidebar .wsit-navbar > .wsit-item.active > .wsit-link, 
.wsit-sidebar .wsit-navbar > .wsit-item:active > .wsit-link, 
.wsit-sidebar .wsit-navbar > .wsit-item:focus > .wsit-link, 
.wsit-sidebar .wsit-navbar > .wsit-item:hover > .wsit-link 
{
    background: var(--primary-linear-gradient);
    color: #fff;
    box-shadow: 0 5px 7px -1px rgba(12, 175, 96, 0.3);
}

.wsit-sidebar .wsit-navbar > .wsit-item.active > .wsit-link i,
.wsit-sidebar .wsit-navbar > .wsit-item:active > .wsit-link i,
.wsit-sidebar .wsit-navbar > .wsit-item:focus > .wsit-link i, 
.wsit-sidebar .wsit-navbar > .wsit-item:hover > .wsit-link i, 
.wsit-sidebar .wsit-navbar > .wsit-item.active > .wsit-link i, 
.wsit-sidebar .wsit-navbar > .wsit-item:active > .wsit-link i, 
.wsit-sidebar .wsit-navbar > .wsit-item:focus > .wsit-link i, 
.wsit-sidebar .wsit-navbar > .wsit-item:hover > .wsit-link i 
{
    color: #0CAF60;
}


.wsit-header {
    background: #fff;
    box-shadow: 0 1px 20px 0 rgba(69, 90, 100, 0.08);
    color: #525b69;
    min-height: 70px;
    position: absolute;
    left: 255px;
    right: 0;
    z-index: 1025;
    top: 0;
}

.wsit-header .wsit-h-item {
    min-height: 70px;
    display: flex;
    align-items: center;
    position: relative;
}
.wsit-header .wsit-head-link {
    color: #525b69;
    display: inline-flex;
    align-items: center;
    padding: 0.6rem 0.7rem;
    margin: 0 7.5px;
    border-radius: 4px;
    position: relative;
    font-weight: 500;
    border-radius: 12px;
    border: 1px solid rgba(206, 206, 206, 0.2);
}

.wsit-header .wsit-head-link .theme-avtar {
    border-radius: 12px;
    font-size: 16px;
    width: 34px;
    height: 34px;
    background: #dcdaeb;
    color: #51459d;
}


.wsit-header .header-wrapper {
    display: flex;
    padding: 0 30px;
}

.wsit-header .wsit-head-link .drp-arrow {
    color: #525b69;
    font-size: 14px;
    margin-left: 10px;
    opacity: 0.8;
}

.wsit-header .wsit-head-link.active,
.wsit-header .wsit-head-link:active,
.wsit-header .wsit-head-link:focus, 
.wsit-header .wsit-head-link:hover {
    text-decoration: none;
    color: #51459d;
    background: rgba(108, 117, 125, 0.05);
}



.dropdown .dropdown-item i {
    font-size: 18px;
    margin-right: 10px;
}

.dropdown-item.active, .dropdown-item:active {
    color: #000;
    text-decoration: none;
    background: rgba(108, 117, 125, 0.05);
}

.wsit-header .wsit-head-link .wsit-h-badge {
    position: absolute;
    top: 3px;
    right: 10px;
    border-radius: 50%;
    font-size: 9px;
}
.message-counter {
    position: absolute;
    top: 3px;
    right: 4px !important;
    border-radius: 50%;
    font-size: 10px;
    width: 15px !important;
    text-align: center !important;
    color: #fff !important;
}
a.wsit-head-link i {
    margin-right: 5px;
    color: var(--primary-color);
}
.dropdown .dropdown-item {
    padding: 10px 25px;
}
.hamburger {
    display: inline-block;
    cursor: pointer;
    transition: filter 0.15s linear;
    width: 20px;
    height: 20px;
}
.hamburger-inner {
    display: block;
    top: 50%;
    margin-top: -2px;
    width: 18px;
    height: 2px;
    background-color: #525b69;
    border-radius: 4px;
    position: absolute;
    transition: transform 0.15s ease;
}

.hamburger-inner::after, .hamburger-inner::before {
    content:'';
    width: 18px;
    height: 2px;
    background-color: #525b69;
    border-radius: 4px;
    position: absolute;
    transition: transform 0.15s ease;
}
.hamburger-inner::before {
    top: -6px;
}
.hamburger-inner::after {
    bottom: -6px;
}


.wsit-header ul {
    margin-bottom: 0;
    display: inline-flex;
}
.wsit-header .dropdown-menu {
    padding: 15px 0;
    box-shadow: 0 4px 24px 0 rgba(62, 57, 107, 0.18);
    border: none;
    position: absolute;
    inset: 0px auto auto 0px;
    margin: 0px;
    transform: translate(0px, 70px);
    min-width: 12rem;
}

.wsit-header .dropdown-toggle::after {
    display: none;
}


.wsit-container {
    position: relative;
    top: 70px;
    margin-left: 255px;
    min-height: calc(100vh - 70px);
}
.wsit-container .wsit-content {
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 30px;
}
.page-header .page-block {
    width: 100%;
}

.page-header .breadcrumb {
    padding: 0;
    display: inline-flex;
    margin-bottom: 0;
    background: transparent;
    font-size: 13px;
}

.page-header .breadcrumb a {
    color: var(--primary-color);
}

.wsit-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1;
    background: rgba(0, 0, 0, 0.2);
}

.wsit-footer {
    position: relative;
    margin-left: 255px;
    width: calc(100% - 255px);
    padding: 10px 30px;
    top: 70px;
    margin-bottom: 70px;
    right: 0;
    bottom: 0;
}
.wsit-footer .footer-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    text-align: center;
}

.develop_company {
    color:var(--primary-color);
}

/*==== USER ADD CSS START====*/
.page-header {
    padding-bottom: 25px;
}
.quick-sidebar {
    background: #ffffff !important;
    box-shadow: 0 1px 20px 0 rgba(69, 90, 100, 0.08);
    padding: 25px;
    border-radius: 5px;
}
.quick-sidebar ul li {
    display: block;
}

.quick-sidebar ul li a {
    padding: 20px;
    display: block;
}
.card {
    box-shadow: 0 6px 30px rgba(182, 186, 203, 0.3);
    margin-bottom: 24px;
    transition: box-shadow 0.2s ease-in-out;
    border: 0;
    padding: 0;
    overflow: hidden;
}
.card .card-header {
    border-bottom: 1px solid #f1f1f1;
}
.quick-sidebar ul li a {
    padding: 16px;
    display: block;
}
.quick-sidebar ul li a.active {
    background: #0CAF60;
    color: #fff;
}
.card-header {
    border-bottom: 1px solid #f1f1f1;
    background: #fff;
    padding: 25px;
}
.card-body {
    background: #fff;
    padding: 25px;
}
.card-footer {
    border-top: 1px solid #f1f1f1;
    background: #fff;
    padding: 25px;
}
span.wsit-text i {
    font-size: 12px;
    color: #0CAF60;
    margin-right: 2px;
}
/*==== USER ADD CSS END====*/

/*==== DATATABLE CSS START ====*/
td {
    padding: 15px !important;
}
.dt-length select {
    height: 38px;
}

.dt-length {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
    align-items: center;
}

.dt-search input {
    height: 38px;
}

.dt-search {
    float: right;
}

.dt-paging ul li button {
    background: #0CAF60 !important;
    margin: 0 10px;
    color: #fff !important;
}
.dt-paging-button.page-item.disabled {
    opacity: 0.7;
}
.edit_btn {
    background: #0972f3;
    color: #fff;
    border-radius: 5px;
    cursor: pointer;
    height: 32px;
    line-height: 32px;
    width: 35px;
    text-align: center;
    display: inline-block;
}
.profile_btn {
    background: #368500;
    color: #fff;
    border-radius: 5px;
    cursor: pointer;
    height: 32px;
    line-height: 32px;
    width: 35px;
    text-align: center;
    display: inline-block;
}
.delete_btn {
    background: #f30070 !important;
    border-radius: 5px;
    color: #fff;
    height: 32px;
    line-height: 32px;
    width: 35px;
    text-align: center;
    display: inline-block;
}
.thumb_down {
    background: #5e547c !important;
    border-radius: 5px;
    color: #fff;
    height: 32px;
    line-height: 32px;
    width: 35px;
    text-align: center;
    display: inline-block;
}
.thumb_up {
    background: #0ac13a !important;
    border-radius: 5px;
    color: #fff;
    height: 32px;
    line-height: 32px;
    width: 35px;
    text-align: center;
    display: inline-block;
}
.thumb_up {
    background: #EB2127 !important;
    border-radius: 5px;
    color: #fff;
    height: 32px;
    line-height: 32px;
    width: 35px;
    text-align: center;
    display: inline-block;
}
.inactive_btn {
    background: #f7a000;
    color: #fff;
    font-size: 13px;
    padding: 2px 8px;
    border-radius: 10px;
}
.active_btn {
    background: #007af7;
    color: #fff;
    font-size: 13px;
    padding: 2px 8px;
    border-radius: 10px;
}
.quick_btn a {
    background: #004edd;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
}
.admin_login {
    background: #0ac18a !important;
    border-radius: 5px;
    color: #fff;
    height: 32px;
    line-height: 32px;
    width: 35px;
    text-align: center;
    display: inline-block;
}
.form-check-input {
    height: 25px !important;
    width: 50px !important;
}
.form-check-input.default{
    height: 15px !important;
    width: 15px !important;
    border: 1px solid #004edd !important;
}

.form-check.form-switch {
    display: flex;
    align-items: center;
    gap: 5px;
}
.btn-submit,.btn-submit:focus{
    background: #23B66F;
    color: #fff;
    border: 0;
    border-radius: 5px;
    padding: 0 15px;
}
/*==== DATATABLE CSS END ====*/

/*==== DASHBOARD CSS START ====*/
.dashboard-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    }

    .show-card {
        background: #ffffff;
        border-radius: 12px;
        box-shadow: 0 5px 15px rgb(0 0 0 / 10%);
        padding: 30px 20px;
        display: flex;
        align-items: center;
        gap: 20px;
        width: 280px;
        transition: 0.3s ease;
        justify-content: space-between;
    }

    .show-card:hover {
    transform: translateY(-5px);
    }

    .icon-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    border: 1px solid #ccc;
    }

    .purple {
    background-color: #eee6ff;
    color: #7b61ff;
    border-color: #c6baff;
    }

    .green {
    background-color: #e6f9f3;
    color: #30c58d;
    border-color: #b4f1dc;
    }

    .blue {
    background-color: #e6f6fc;
    color: #28a9e0;
    border-color: #b9e3f7;
    }

    .orange {
    background-color: #fff6e6;
    color: #f4a825;
    border-color: #ffe2b4;
    }

    .red {
      background-color: #ffe6e6;
      color: #ff4d4f;
      border-color: #ffb3b3;
    }

    .teal {
      background-color: #e6fffa;
      color: #17c3b2;
      border-color: #a4f3e3;
    }

    .yellow {
      background-color: #fffde6;
      color: #facc15;
      border-color: #fff6b3;
    }

    .pink {
      background-color: #ffe6f0;
      color: #ff4fa3;
      border-color: #ffb3d9;
    }
    .dash-content {
    display: flex;
    flex-direction: column;
    text-align: end;
    }

    .dashboard-value {
    font-size: 22px;
    font-weight: 600;
    color: #1a1a1a;
    }

    .dashboard-label {
    font-size: 14px;
    color: #7a7a7a;
    }
    .icon-circle:before {
        display: none;
    }
/*==== DASHBOARD CSS END ====*/

/*==== STYLE BY SAMIUL CSS START ====*/

input, input:focus, select, select:focus {
    border-color: none !important;
}

.bg-pink {
    background-color: #d63384 !important;
}

.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    color: var(--bs-nav-pills-link-active-color);
    background-color: var(--primary-color);
}

.nav-link {
    color: var(--primary-color);
}

.card-primary.card-outline {
    border-top: 3px solid;
border-color: var(--primary-color);
}

.profile-user-img {
    border: 3px solid #adb5bd;
    margin: 0 auto;
    padding: 3px;
    width: 100px;
}

.img-circle {
    border-radius: 50%;
}

li.list-group-item a {
    color: #007bff;
}

.profile-username {
    font-size: 21px;
    margin-top: 5px;
}

.profile_item h3 {
    background: #f2f2f2;
    padding: 10px;
    border: 1px solid #ddd;
    border-bottom: none;
    font-size: 1rem;
}
.quick_search {
    display: grid;
    grid-template-columns: 75% 22%;
    gap: 10px;
}
#exportModal .form-check.form-switch {
    padding-left: 0;
    align-items: center;
}
#exportModal .form-check-label {
    margin-right: 35px;
}
/*==== STYLE BY SAMIUL CSS END ====*/
.homowork-select,.homowork-select:focus {
    height: 32px;
    border: 2px solid #ddd;
    padding: 0 8px;
    border-radius: 5px;
}
/* Pending student approval modal */
.pending-student-modal .modal-header { border-bottom:1px solid #e8edf3; }
.pending-basic-info { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.pending-basic-info div { border:1px solid #e6edf5; border-radius:8px; padding:10px 12px; background:#f8fafc; }
.pending-basic-info span { display:block; color:#64748b; font-size:12px; font-weight:700; margin-bottom:4px; }
.pending-basic-info strong { display:block; color:#0f172a; font-size:15px; }
.pending-overview { min-width:34px; min-height:34px; }
@media (max-width:767px){ .pending-basic-info { grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .pending-basic-info { grid-template-columns:1fr; } }

/* Student profile compact layout */
.student-profile-view .page-content { padding-top: 10px; }
.profile-shell { display:grid; grid-template-columns:280px minmax(0,1fr); gap:14px; align-items:start; }
.profile-summary, .profile-panel { background:#fff; border:1px solid #e8edf3; border-radius:8px; box-shadow:0 8px 20px rgba(15,23,42,.04); }
.profile-summary { padding:22px 18px; text-align:center; position:sticky; top:86px; }
.profile-avatar { width:76px; height:76px; margin:0 auto 12px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#1769ff; color:#fff; font-size:30px; font-weight:800; }
.profile-summary h3 { margin:0; font-size:20px; font-weight:700; color:#111827; }
.profile-summary span { display:block; margin-top:3px; color:#64748b; font-size:14px; }
.profile-summary p { margin:8px 0 12px; color:#334155; font-size:14px; line-height:1.4; }
.profile-status { display:inline-flex; align-items:center; justify-content:center; min-height:28px; padding:4px 12px; border-radius:999px; font-size:13px; font-weight:700; }
.profile-status.active { color:#166534; background:#dcfce7; }
.profile-status.pending { color:#a16207; background:#fef3c7; }
.profile-main { display:grid; gap:14px; }
.profile-panel { padding:16px; }
.profile-panel-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.profile-panel-head h5 { margin:0; font-size:18px; font-weight:700; color:#111827; }
.profile-info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid #edf2f7; border-radius:8px; overflow:hidden; }
.profile-info-grid div { padding:12px 14px; border-right:1px solid #edf2f7; border-bottom:1px solid #edf2f7; min-height:66px; }
.profile-info-grid div:nth-child(3n) { border-right:0; }
.profile-info-grid div:nth-last-child(-n+3) { border-bottom:0; }
.profile-info-grid span { display:block; color:#64748b; font-size:12px; font-weight:700; margin-bottom:5px; }
.profile-info-grid strong { display:block; color:#111827; font-size:15px; font-weight:700; }
.compact-table-wrap { border:1px solid #edf2f7; border-radius:8px; overflow:hidden; }
.profile-table th { background:#f8fafc; color:#334155; font-size:13px; font-weight:800; padding:10px 12px !important; border-color:#edf2f7 !important; }
.profile-table td { padding:10px 12px !important; border-color:#edf2f7 !important; font-size:14px; color:#111827; }
.payment-state { display:inline-flex; padding:3px 9px; border-radius:999px; font-size:12px; font-weight:800; }
.payment-state.state-0 { color:#a16207; background:#fef3c7; }
.payment-state.state-1 { color:#166534; background:#dcfce7; }
.payment-state.state-2 { color:#991b1b; background:#fee2e2; }
.receipt-link { font-weight:700; color:#1769ff; }
@media (max-width:991px){ .profile-shell{grid-template-columns:1fr;} .profile-summary{position:static;} .profile-info-grid{grid-template-columns:1fr 1fr;} .profile-info-grid div:nth-child(3n){border-right:1px solid #edf2f7;} .profile-info-grid div:nth-child(2n){border-right:0;} .profile-info-grid div:nth-last-child(-n+3){border-bottom:1px solid #edf2f7;} .profile-info-grid div:nth-last-child(-n+2){border-bottom:0;} }
@media (max-width:575px){ .profile-panel{padding:12px;} .profile-info-grid{grid-template-columns:1fr;} .profile-info-grid div,.profile-info-grid div:nth-child(2n),.profile-info-grid div:nth-child(3n){border-right:0;} .profile-info-grid div:nth-last-child(-n+2){border-bottom:1px solid #edf2f7;} .profile-info-grid div:last-child{border-bottom:0;} }

/* Student create/edit aligned form */
.student-form-card { border:1px solid #e8edf3; border-radius:8px; box-shadow:0 8px 20px rgba(15,23,42,.04); }
.student-form-card .card-body { padding:22px; }
.student-form-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:16px; align-items:start; }
.student-field { grid-column:span 4; min-width:0; }
.student-field-full { grid-column:1 / -1; }
.student-form-grid .form-label { margin-bottom:7px; color:#0f172a; font-weight:700; font-size:14px; }
.student-form-grid .form-control { min-height:42px; border-color:#d9e1ea; border-radius:7px; }
.student-form-grid .form-control:focus { border-color:#6aa4ff; }
.student-enrollment-list { display:grid; gap:8px; }
.admin-enrollment-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) 160px 42px; gap:8px; align-items:center; }
.admin-enrollment-row .form-control { width:100%; }
.enrollment-remove-col { display:flex; align-items:center; justify-content:center; }
.enrollment-remove-col .btn { width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; padding:0; border-radius:7px; }
.student-field-full .add-enrollment { min-height:38px; padding:6px 13px; border-radius:7px; font-weight:700; }
.student-status-switch { display:flex; align-items:center; gap:8px; min-height:42px; margin-top:2px; }
.student-status-switch .form-check-input { width:46px; height:24px; margin:0; }
.student-form-actions { grid-column:1 / -1; display:flex; justify-content:flex-start; padding-top:2px; }
.student-form-actions .btn { min-height:38px; padding:7px 14px; border-radius:7px; font-weight:700; }
@media (max-width:991px){ .student-field{grid-column:span 6;} .student-field-full{grid-column:1 / -1;} .admin-enrollment-row{grid-template-columns:1fr 1fr 140px 42px;} }
@media (max-width:575px){ .student-form-card .card-body{padding:14px;} .student-form-grid{gap:12px;} .student-field{grid-column:1 / -1;} .admin-enrollment-row{grid-template-columns:1fr 42px;} .admin-enrollment-row .enrollment-cell{grid-column:1 / 2;} .admin-enrollment-row .enrollment-remove-col{grid-column:2 / 3; grid-row:1 / span 3;} }
