/* =========================================================
   ASSANPOS EXCELS - Unified Modern Theme 2026
   Shared by Student, Teacher, Admin and Public visual pages
   Bootstrap 2 compatible
   ========================================================= */

.lms-modern {
    --lms-navy: #0F172A;
    --lms-navy-2: #162B50;
    --lms-blue: #2563EB;
    --lms-blue-soft: #EAF3FF;
    --lms-cyan: #06B6D4;
    --lms-gold: #F4B942;
    --lms-bg: #F8FAFC;
    --lms-card: #FFFFFF;
    --lms-text: #1E293B;
    --lms-muted: #64748B;
    --lms-border: #E2E8F0;
    --lms-danger: #EF4444;
    --lms-success: #10B981;
    --lms-warning: #F59E0B;
    --lms-shadow: 0 14px 40px rgba(15, 23, 42, .08);
    --lms-shadow-soft: 0 7px 24px rgba(15, 23, 42, .06);
    color: var(--lms-text);
    font-family: "ProximaNova-Light", "Helvetica Neue", Arial, sans-serif !important;
}

/* ---------- Global dashboard canvas ---------- */
.lms-modern:not(#login) {
    min-height: 100vh;
    padding-top: 84px !important;
    background:
        radial-gradient(circle at 100% 8%, rgba(244,185,66,.11), transparent 25%),
        radial-gradient(circle at 0% 100%, rgba(6,182,212,.10), transparent 27%),
        var(--lms-bg) !important;
    color: var(--lms-text);
}

.lms-modern a {
    color: var(--lms-blue);
}

.lms-modern a:hover,
.lms-modern a:focus {
    color: #1749AA;
    text-decoration: none;
}

/* ---------- Unified top navigation ---------- */
.lms-modern:not(#login) .navbar.navbar-fixed-top {
    height: 70px;
    margin: 0;
}

.lms-modern:not(#login) .navbar-inverse .navbar-inner,
.lms-modern:not(#login) .navbar-fixed-top .navbar-inner {
    min-height: 70px;
    border: 0 !important;
    background: linear-gradient(120deg, var(--lms-navy) 0%, #11254A 72%, #153A76 100%) !important;
    box-shadow: 0 6px 24px rgba(15,23,42,.16);
}

.lms-modern:not(#login) .navbar .container-fluid {
    padding-left: 28px;
    padding-right: 28px;
}

.lms-modern:not(#login) .navbar .brand {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 70px;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1.15;
    font-weight: 600;
    text-shadow: none !important;
    white-space: nowrap;
}

.lms-modern:not(#login) .navbar .brand:before {
    content: "\f19d";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin-right: 4px;
    border-radius: 12px;
    background: linear-gradient(145deg, #FFD76A, var(--lms-gold));
    box-shadow: 0 7px 18px rgba(244,185,66,.22);
    color: var(--lms-navy);
    font-family: FontAwesome;
    font-size: 22px;
}

.lms-modern .brand-assanpos {
    color: #fff;
    font-weight: 700;
    letter-spacing: .2px;
}

.lms-modern .brand-excels {
    color: #22D3EE;
    font-weight: 700;
}

.lms-modern .brand-divider {
    display: inline-block;
    width: 1px;
    height: 26px;
    margin: 0 4px;
    background: rgba(255,255,255,.32);
}

.lms-modern .brand-panel {
    color: rgba(255,255,255,.88);
    font-weight: 400;
}

.lms-modern:not(#login) .navbar-inverse .nav > li > a,
.lms-modern:not(#login) .navbar .nav > li > a {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 70px;
    box-sizing: border-box;
    padding: 12px 14px !important;
    color: rgba(255,255,255,.92) !important;
    text-shadow: none !important;
    font-weight: 600;
}

.lms-modern:not(#login) .navbar .nav > li > a:hover,
.lms-modern:not(#login) .navbar .nav > li.open > a {
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
}

/* Critical: prevents profile images from expanding in pages other than dashboard */
.lms-modern .top-user-avatar,
.lms-modern:not(#login) .navbar .dropdown-toggle img,
.lms-modern:not(#login) .navbar .nav img {
    width: 38px !important;
    height: 38px !important;
    max-width: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 2px solid rgba(255,255,255,.86) !important;
    border-radius: 12px !important;
    object-fit: cover !important;
    box-shadow: 0 4px 14px rgba(0,0,0,.18);
    vertical-align: middle;
}

.lms-modern:not(#login) .navbar .caret {
    border-top-color: rgba(255,255,255,.9) !important;
    border-bottom-color: rgba(255,255,255,.9) !important;
}

.lms-modern:not(#login) .navbar .dropdown-menu {
    min-width: 220px;
    margin-top: 8px;
    padding: 7px;
    border: 1px solid var(--lms-border);
    border-radius: 13px;
    background: #fff;
    box-shadow: var(--lms-shadow);
    overflow: hidden;
}

.lms-modern:not(#login) .navbar .dropdown-menu > li > a {
    padding: 10px 12px;
    border-radius: 8px;
    color: var(--lms-text) !important;
    line-height: 20px;
}

.lms-modern:not(#login) .navbar .dropdown-menu > li > a:hover {
    background: var(--lms-blue-soft) !important;
    color: var(--lms-blue) !important;
}

/* ---------- Main layout ---------- */
.lms-modern:not(#login) > .container-fluid,
.lms-modern:not(#login) .container-fluid {
    max-width: 1540px;
    margin-left: auto;
    margin-right: auto;
}

.lms-modern:not(#login) .container-fluid > .row-fluid {
    gap: 26px;
}

/* ---------- Sidebar ---------- */
.lms-modern:not(#login) #sidebar.span3 {
    width: 270px;
    min-width: 270px;
    box-sizing: border-box;
    padding: 20px 16px;
    border: 1px solid rgba(226,232,240,.92);
    border-radius: 16px;
    background: rgba(255,255,255,.98);
    box-shadow: var(--lms-shadow-soft);
}

.lms-modern:not(#login) #sidebar #avatar,
.lms-modern:not(#login) #sidebar img#avatar {
    display: block;
    width: 150px !important;
    height: 150px !important;
    max-width: 150px !important;
    margin: 2px auto 18px !important;
    padding: 0 !important;
    border: 4px solid #fff !important;
    border-radius: 18px !important;
    object-fit: cover !important;
    box-shadow: 0 10px 28px rgba(15,23,42,.15) !important;
}

.lms-modern .student-profile-copy,
.lms-modern .teacher-profile-copy {
    margin: -2px 0 12px;
    padding: 0 8px 18px;
    border-bottom: 1px solid var(--lms-border);
    text-align: center;
}

.lms-modern .student-profile-copy strong,
.lms-modern .teacher-profile-copy strong {
    display: block;
    color: var(--lms-navy);
    font-size: 17px;
    line-height: 1.25;
    font-weight: 700;
}

.lms-modern .student-profile-copy span,
.lms-modern .teacher-profile-copy span {
    display: block;
    margin-top: 4px;
    color: var(--lms-muted);
    font-size: 13px;
}

.lms-modern:not(#login) #sidebar .nav-list,
.lms-modern:not(#login) .bs-docs-sidenav {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.lms-modern:not(#login) #sidebar .nav-list > li {
    margin: 5px 0;
}

.lms-modern:not(#login) #sidebar .nav-list > li > a,
.lms-modern:not(#login) #sidebar .nav-list > .active > a {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 44px;
    box-sizing: border-box;
    margin: 0;
    padding: 0 42px 0 14px;
    border: 0 !important;
    border-radius: 11px;
    background: transparent !important;
    color: var(--lms-text) !important;
    font-size: 14px;
    font-weight: 600;
    text-shadow: none !important;
    transition: .18s ease;
}

.lms-modern:not(#login) #sidebar .nav-list > li > a:hover {
    background: #F1F7FF !important;
    color: var(--lms-blue) !important;
    transform: translateX(2px);
}

.lms-modern:not(#login) #sidebar .nav-list > .active > a,
.lms-modern:not(#login) #sidebar .nav-list > .active > a:hover {
    background: var(--lms-blue-soft) !important;
    color: var(--lms-blue) !important;
}

.lms-modern:not(#login) #sidebar .nav-list > li > a [class^="icon-"],
.lms-modern:not(#login) #sidebar .nav-list > li > a [class*=" icon-"] {
    color: var(--lms-cyan);
    font-size: 16px;
}

.lms-modern:not(#login) #sidebar .nav-list > .active > a [class^="icon-"],
.lms-modern:not(#login) #sidebar .nav-list > .active > a [class*=" icon-"] {
    color: var(--lms-blue);
}

.lms-modern:not(#login) #sidebar .nav-list .icon-chevron-right {
    position: absolute;
    right: 14px;
    left: auto;
    color: #94A3B8 !important;
}

.lms-modern:not(#login) #sidebar .badge-important {
    position: absolute;
    right: 33px;
    top: 11px;
    min-width: 16px;
    height: 20px;
    box-sizing: border-box;
    padding: 0 5px;
    border-radius: 10px;
    background: var(--lms-danger) !important;
    line-height: 20px;
    text-align: center;
    text-shadow: none;
}

/* ---------- Main content / breadcrumb ---------- */
.lms-modern:not(#login) #content.span9 {
    min-height: 520px;
}

.lms-modern:not(#login) .breadcrumb {
    margin: 0 0 18px;
    padding: 13px 16px;
    border: 1px solid var(--lms-border);
    border-radius: 12px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 4px 15px rgba(15,23,42,.035);
}

.lms-modern:not(#login) .breadcrumb > li,
.lms-modern:not(#login) .breadcrumb > li > a {
    color: var(--lms-muted);
    font-size: 13px;
}

.lms-modern:not(#login) .breadcrumb > li > a b,
.lms-modern:not(#login) .breadcrumb > li:last-child a {
    color: var(--lms-navy);
    font-weight: 700;
}

.lms-modern:not(#login) .breadcrumb .divider {
    color: #CBD5E1;
}

/* ---------- Blocks / panels ---------- */
.lms-modern:not(#login) .block,
.lms-modern:not(#login) .well,
.lms-modern:not(#login) .thumbnail,
.lms-modern:not(#login) .widget-box {
    border: 1px solid rgba(226,232,240,.95) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: var(--lms-shadow-soft) !important;
}

.lms-modern:not(#login) .block {
    overflow: hidden;
}

.lms-modern:not(#login) .block .navbar-inner.block-header,
.lms-modern:not(#login) .block-header,
.lms-modern:not(#login) .widget-title {
    min-height: 54px;
    box-sizing: border-box;
    padding: 0 20px;
    border: 0 !important;
    border-bottom: 1px solid #EEF2F7 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--lms-navy) !important;
}

.lms-modern:not(#login) .block-header .muted,
.lms-modern:not(#login) .block-header strong,
.lms-modern:not(#login) .block-header h4,
.lms-modern:not(#login) .widget-title h5 {
    color: var(--lms-navy) !important;
    font-weight: 700;
}

.lms-modern:not(#login) .block-content {
    padding: 22px;
    background: transparent;
}

.lms-modern:not(#login) .post {
    margin: 0 0 13px;
    padding: 16px 18px;
    border: 1px solid #E8EEF7;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(15,23,42,.04);
    color: var(--lms-text);
}

.lms-modern:not(#login) .post hr {
    margin: 12px 0;
    border-top-color: #EDF2F7;
}

/* ---------- Buttons ---------- */
.lms-modern .btn {
    border: 0 !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    text-shadow: none !important;
    font-weight: 600;
    transition: .17s ease;
}

.lms-modern .btn:hover,
.lms-modern .btn:focus {
    transform: translateY(-1px);
}

.lms-modern .btn-info,
.lms-modern .btn-primary {
    background: linear-gradient(135deg, var(--lms-blue), #3188FF) !important;
    color: #fff !important;
}

.lms-modern .btn-success {
    background: var(--lms-success) !important;
    color: #fff !important;
}

.lms-modern .btn-danger {
    background: var(--lms-danger) !important;
    color: #fff !important;
}

.lms-modern .btn-warning {
    background: var(--lms-warning) !important;
    color: #fff !important;
}

.lms-modern .btn-inverse {
    background: var(--lms-navy) !important;
    color: #fff !important;
}

/* ---------- Forms ---------- */
.lms-modern:not(#login) input[type="text"],
.lms-modern:not(#login) input[type="password"],
.lms-modern:not(#login) input[type="email"],
.lms-modern:not(#login) input[type="number"],
.lms-modern:not(#login) input[type="date"],
.lms-modern:not(#login) select,
.lms-modern:not(#login) textarea,
.lms-modern#login input[type="text"],
.lms-modern#login input[type="password"],
.lms-modern#login input[type="email"],
.lms-modern#login select,
.lms-modern#login textarea {
    min-height: 40px;
    box-sizing: border-box;
    border: 1px solid #D7E1EE !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: var(--lms-text) !important;
    box-shadow: inset 0 1px 2px rgba(15,23,42,.025) !important;
}

.lms-modern textarea {
    min-height: 90px;
}

.lms-modern input:focus,
.lms-modern select:focus,
.lms-modern textarea:focus {
    border-color: #79A9F7 !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,.10) !important;
    outline: 0 !important;
}

.lms-modern label,
.lms-modern .control-label {
    color: #475569;
    font-weight: 600;
}

/* ---------- Tables ---------- */
.lms-modern:not(#login) table,
.lms-modern:not(#login) .table {
    color: var(--lms-text);
    background: #fff;
}

.lms-modern:not(#login) .table-bordered {
    border-color: #E5ECF5;
    border-radius: 11px;
    overflow: hidden;
}

.lms-modern:not(#login) .table th {
    border-color: #E8EEF5 !important;
    background: #F4F8FD !important;
    color: #334155;
    font-weight: 700;
}

.lms-modern:not(#login) .table td {
    border-color: #EEF2F7 !important;
    vertical-align: middle;
}

.lms-modern:not(#login) .table-striped tbody tr:nth-child(odd) td,
.lms-modern:not(#login) .table-striped tbody tr:nth-child(odd) th {
    background: #FBFDFF;
}

/* ---------- Alerts / badges ---------- */
.lms-modern .alert {
    border-radius: 11px;
    text-shadow: none;
}

.lms-modern .alert-info {
    border-color: #CFE8FA;
    background: #EFF8FF !important;
    color: #245A82;
}

.lms-modern .alert-success {
    border-color: #CDEEDC;
    background: #ECFDF5 !important;
    color: #166534;
}

.lms-modern .badge,
.lms-modern .label {
    border-radius: 999px;
    text-shadow: none;
}

/* ---------- Modals ---------- */
.lms-modern .modal {
    border: 0;
    border-radius: 16px;
    box-shadow: 0 24px 70px rgba(15,23,42,.24);
    overflow: hidden;
}

.lms-modern .modal-header {
    border-bottom: 1px solid #EAF0F6;
    background: #F8FBFF;
}

.lms-modern .modal-header h3,
.lms-modern .modal-header h4 {
    color: var(--lms-navy);
}

.lms-modern .modal-footer {
    border-top: 1px solid #EAF0F6;
    background: #FAFCFF;
}

/* ---------- Footer ---------- */
.lms-modern:not(#login) footer,
.lms-modern:not(#login) footer p {
    color: #94A3B8 !important;
}

/* ---------- Login / signup ---------- */
.lms-modern#login {
    min-height: 100vh;
    color: #fff;
}

.lms-modern#login::before {
    background: linear-gradient(115deg, rgba(15,23,42,.84), rgba(15,23,42,.56) 55%, rgba(10,30,60,.72)) !important;
}

.lms-modern#login .container {
    max-width: 1180px;
    padding-top: 34px;
}

.lms-modern#login .form-signin,
.lms-modern#login #button_form {
    box-sizing: border-box;
    padding: 24px !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.92) !important;
    color: var(--lms-text) !important;
    box-shadow: 0 20px 55px rgba(0,0,0,.22) !important;
    backdrop-filter: blur(12px);
}

.lms-modern#login .form-signin-heading {
    color: var(--lms-navy) !important;
    font-weight: 700;
}

.lms-modern#login .title_index,
.lms-modern#login .title_index p,
.lms-modern#login .title_index h3,
.lms-modern#login .motto p {
    color: #fff !important;
    text-shadow: 0 2px 14px rgba(0,0,0,.28);
}

.lms-modern#login .index_logo {
    max-width: 180px;
    filter: drop-shadow(0 10px 25px rgba(0,0,0,.18));
}

.lms-modern#login .btn-info {
    padding: 9px 15px;
}

/* ---------- Admin refinements ---------- */
.lms-modern .dataTables_wrapper,
.lms-modern .dataTables_length,
.lms-modern .dataTables_filter,
.lms-modern .dataTables_info,
.lms-modern .dataTables_paginate {
    color: var(--lms-muted);
}

.lms-modern .pagination ul > li > a,
.lms-modern .pagination ul > li > span {
    border-color: #DFE7F1;
    color: var(--lms-blue);
}

.lms-modern .pagination ul > .active > a,
.lms-modern .pagination ul > .active > span {
    background: var(--lms-blue);
    color: #fff;
}

/* ---------- Responsive ---------- */
@media (min-width: 981px) {
    .lms-modern:not(#login) .container-fluid > .row-fluid {
        display: flex;
        align-items: flex-start;
    }

    .lms-modern:not(#login) #content.span9 {
        width: auto;
        flex: 1;
        min-width: 0;
        float: none;
        margin-left: 0 !important;
    }

    .lms-modern:not(#login) #sidebar.span3 {
        float: none;
        margin-left: 0;
    }
}

@media (max-width: 980px) {
    .lms-modern:not(#login) {
        padding-top: 72px !important;
    }

    .lms-modern:not(#login) .navbar .brand .brand-panel,
    .lms-modern:not(#login) .navbar .brand .brand-divider {
        display: none;
    }

    .lms-modern:not(#login) #sidebar.span3,
    .lms-modern:not(#login) #content.span9 {
        width: 100% !important;
        min-width: 0;
        margin-left: 0 !important;
        float: none;
    }

    .lms-modern:not(#login) #sidebar.span3 {
        margin-bottom: 18px;
    }
}

@media (max-width: 767px) {
    .lms-modern:not(#login) {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .lms-modern:not(#login) .navbar .container-fluid {
        padding-left: 14px;
        padding-right: 14px;
    }

    .lms-modern:not(#login) .navbar .brand {
        font-size: 15px !important;
    }

    .lms-modern:not(#login) .navbar .brand:before {
        width: 34px;
        height: 34px;
        font-size: 18px;
    }

    .lms-modern:not(#login) .block-content {
        padding: 16px;
    }

    .lms-modern#login .container {
        padding: 18px 12px;
    }
}
/* =========================================================
   ASSANPOS EXCELS - Modern Student Dashboard 2026
   Scoped to dashboard_student.php through body class
   ========================================================= */

.student-dashboard-modern {
    --lms-navy: #0F172A;
    --lms-navy-2: #162B50;
    --lms-blue: #2563EB;
    --lms-cyan: #06B6D4;
    --lms-gold: #F4B942;
    --lms-bg: #F8FAFC;
    --lms-card: #FFFFFF;
    --lms-text: #1E293B;
    --lms-muted: #64748B;
    --lms-border: #E2E8F0;
    --lms-danger: #EF4444;
    --lms-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
    --lms-shadow-soft: 0 7px 24px rgba(15, 23, 42, 0.06);

    background: var(--lms-bg) !important;
    color: var(--lms-text);
    min-height: 100vh;
    padding-top: 86px !important;
    font-family: 'ProximaNova-Light', Helvetica, Arial, sans-serif !important;
}

.student-dashboard-modern:before,
.student-dashboard-modern:after {
    content: "";
    position: fixed;
    z-index: -1;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    pointer-events: none;
    opacity: .55;
}

.student-dashboard-modern:before {
    left: -220px;
    bottom: -230px;
    background: radial-gradient(circle, rgba(6,182,212,.18), rgba(37,99,235,.03) 68%, transparent 69%);
}

.student-dashboard-modern:after {
    right: -220px;
    top: 52px;
    background: radial-gradient(circle, rgba(244,185,66,.18), rgba(244,185,66,.03) 68%, transparent 69%);
}

/* Top navigation */
.student-dashboard-modern .navbar.navbar-fixed-top {
    height: 72px;
}

.student-dashboard-modern .navbar-inverse .navbar-inner {
    min-height: 72px;
    border: 0 !important;
    background: linear-gradient(120deg, var(--lms-navy) 0%, #11254A 72%, #153A76 100%) !important;
    box-shadow: 0 6px 24px rgba(15, 23, 42, .16);
}

.student-dashboard-modern .navbar .container-fluid {
    padding-left: 28px;
    padding-right: 28px;
}

.student-dashboard-modern .navbar .brand {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 72px;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 600;
    line-height: 1.1;
    text-shadow: none !important;
}

.student-dashboard-modern .navbar .brand:before {
    content: "\f19d";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    font-family: FontAwesome;
    font-size: 24px;
    color: var(--lms-navy);
    background: linear-gradient(145deg, #FFD76A, var(--lms-gold));
    box-shadow: 0 7px 18px rgba(244,185,66,.24);
}

.student-dashboard-modern .navbar .brand .brand-assanpos {
    font-weight: 700;
    letter-spacing: .3px;
}

.student-dashboard-modern .navbar .brand .brand-excels {
    color: #22D3EE;
    font-weight: 700;
}

.student-dashboard-modern .navbar .brand .brand-divider {
    width: 1px;
    height: 28px;
    margin: 0 4px;
    background: rgba(255,255,255,.34);
}

.student-dashboard-modern .navbar .brand .brand-panel {
    color: rgba(255,255,255,.88);
    font-weight: 400;
}

.student-dashboard-modern .navbar-inverse .nav > li > a {
    min-height: 72px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 12px !important;
    text-shadow: none !important;
    font-weight: 600;
}

.student-dashboard-modern .top-user-avatar {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    object-fit: cover;
    border: 2px solid rgba(255,255,255,.84);
    box-shadow: 0 4px 14px rgba(0,0,0,.18);
}

.student-dashboard-modern .navbar .dropdown-menu {
    margin-top: 8px;
    border: 1px solid var(--lms-border);
    border-radius: 12px;
    box-shadow: var(--lms-shadow-soft);
    overflow: hidden;
}

.student-dashboard-modern .navbar .dropdown-menu > li > a {
    padding: 10px 16px;
}

/* Main grid */
.student-dashboard-modern > .container-fluid,
.student-dashboard-modern .container-fluid {
    max-width: 1540px;
    margin: 0 auto;
}

.student-dashboard-modern .container-fluid > .row-fluid {
    display: flex;
    gap: 28px;
    align-items: flex-start;
}

.student-dashboard-modern #sidebar.span3 {
    width: 270px;
    min-width: 270px;
    float: none;
    margin-left: 0;
    padding: 26px 18px 18px;
    box-sizing: border-box;
    background: rgba(255,255,255,.97);
    border: 1px solid rgba(226,232,240,.9);
    border-radius: 16px;
    box-shadow: var(--lms-shadow-soft);
}

.student-dashboard-modern #content.span9 {
    width: auto;
    flex: 1;
    min-width: 0;
    float: none;
    margin-left: 0 !important;
}

/* Profile */
.student-dashboard-modern #avatar {
    display: block;
    width: 168px !important;
    height: 168px !important;
    margin: 2px auto 14px !important;
    padding: 0 !important;
    object-fit: cover;
    border: 4px solid #fff !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 30px rgba(15,23,42,.16) !important;
}

.student-dashboard-modern .student-profile-copy {
    text-align: center;
    padding: 0 8px 20px;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--lms-border);
}

.student-dashboard-modern .student-profile-copy strong {
    display: block;
    color: var(--lms-text);
    font-size: 18px;
    line-height: 1.25;
    font-weight: 700;
}

.student-dashboard-modern .student-profile-copy span {
    display: block;
    margin-top: 4px;
    color: var(--lms-muted);
    font-size: 14px;
}

/* Sidebar navigation */
.student-dashboard-modern #sidebar .nav-list {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.student-dashboard-modern #sidebar .nav-list > li {
    margin: 6px 0;
}

.student-dashboard-modern #sidebar .nav-list > li > a,
.student-dashboard-modern #sidebar .nav-list > .active > a {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 46px;
    margin: 0;
    padding: 0 40px 0 16px;
    border: 0;
    border-radius: 12px;
    background: transparent !important;
    color: var(--lms-text) !important;
    font-size: 15px;
    font-weight: 600;
    text-shadow: none !important;
    box-sizing: border-box;
    transition: .2s ease;
}

.student-dashboard-modern #sidebar .nav-list > li > a:hover {
    color: var(--lms-blue) !important;
    background: #F1F7FF !important;
    transform: translateX(2px);
}

.student-dashboard-modern #sidebar .nav-list > .active > a,
.student-dashboard-modern #sidebar .nav-list > .active > a:hover {
    color: var(--lms-blue) !important;
    background: #EAF3FF !important;
}

.student-dashboard-modern #sidebar .nav-list > li > a [class^="icon-"],
.student-dashboard-modern #sidebar .nav-list > li > a [class*=" icon-"] {
    color: var(--lms-cyan);
    font-size: 17px;
}

.student-dashboard-modern #sidebar .nav-list > li.active > a [class^="icon-"],
.student-dashboard-modern #sidebar .nav-list > li.active > a [class*=" icon-"] {
    color: var(--lms-blue);
}

.student-dashboard-modern #sidebar .nav-list .icon-chevron-right {
    position: absolute;
    right: 15px;
    left: auto;
    color: #94A3B8 !important;
    opacity: 1;
}

.student-dashboard-modern #sidebar .badge-important {
    position: absolute;
    right: 34px;
    top: 12px;
    min-width: 16px;
    height: 20px;
    padding: 0 5px;
    border-radius: 10px;
    background: var(--lms-danger) !important;
    line-height: 20px;
    text-align: center;
    box-shadow: none;
}

/* Heading */
.student-dashboard-modern .modern-page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin: 2px 0 26px;
    padding: 10px 6px 0;
}

.student-dashboard-modern .modern-page-heading .eyebrow {
    margin: 0 0 5px;
    color: #7890B4;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.student-dashboard-modern .modern-page-heading h1 {
    margin: 0;
    color: var(--lms-navy);
    font-size: 34px;
    line-height: 1.1;
    font-weight: 700;
}

.student-dashboard-modern .school-year-chip {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid #DCE8F8;
    border-radius: 12px;
    background: rgba(255,255,255,.84);
    color: #55719F;
    font-size: 14px;
    box-shadow: 0 4px 18px rgba(15,23,42,.04);
}

.student-dashboard-modern .school-year-chip i {
    color: var(--lms-blue);
}

.student-dashboard-modern .breadcrumb {
    display: none;
}

/* Main class panel */
.student-dashboard-modern .block {
    margin: 0 0 24px;
    border: 1px solid rgba(226,232,240,.92);
    border-radius: 18px;
    background: rgba(255,255,255,.98);
    box-shadow: var(--lms-shadow);
    overflow: hidden;
}

.student-dashboard-modern .block .navbar-inner.block-header {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 28px;
    border: 0;
    border-bottom: 1px solid #EEF2F7;
    border-radius: 0;
    background: #fff !important;
    box-shadow: none;
}

.student-dashboard-modern .modern-block-title {
    display: flex;
    align-items: center;
    gap: 14px;
}

.student-dashboard-modern .modern-block-icon {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: linear-gradient(145deg, var(--lms-blue), #3188FF);
    color: #fff;
    font-size: 21px;
    box-shadow: 0 8px 18px rgba(37,99,235,.22);
}

.student-dashboard-modern .modern-block-title strong {
    display: block;
    margin-bottom: 2px;
    color: var(--lms-navy);
    font-size: 20px;
    line-height: 1.2;
}

.student-dashboard-modern .modern-block-title small {
    display: block;
    color: var(--lms-muted);
    font-size: 13px;
}

.student-dashboard-modern .class-count-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 19px;
    background: #EEF6FF;
    color: #54749C;
}

.student-dashboard-modern .class-count-chip i {
    color: var(--lms-blue);
}

.student-dashboard-modern .class-count-chip .badge {
    min-width: auto;
    padding: 0;
    background: transparent !important;
    color: var(--lms-navy);
    font-size: 20px;
    font-weight: 700;
    text-shadow: none;
}

.student-dashboard-modern .block-content {
    padding: 25px 25px 30px;
}

.student-dashboard-modern .block-content .span12 {
    width: 100%;
    margin: 0;
}

/* Class cards */
.student-dashboard-modern .da-thumbs {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(5, minmax(155px, 1fr));
    gap: 18px;
    float: none;
    margin: 0;
    padding: 0;
}

.student-dashboard-modern .da-thumbs > li {
    width: auto !important;
    min-width: 0;
    float: none;
    margin: 0;
    padding: 12px 12px 14px;
    box-sizing: border-box;
    border: 1px solid #E8EEF7;
    border-top: 4px solid var(--lms-blue);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15,23,42,.06);
    overflow: hidden;
    transition: .22s ease;
}

.student-dashboard-modern .da-thumbs > li:nth-child(2n) {
    border-top-color: var(--lms-cyan);
}

.student-dashboard-modern .da-thumbs > li:hover {
    transform: translateY(-4px);
    border-color: #CFE0F7;
    box-shadow: 0 14px 32px rgba(15,23,42,.10);
}

.student-dashboard-modern .da-thumbs li > a {
    display: block;
    border-radius: 10px;
    background: #F8FBFF;
}

.student-dashboard-modern .da-thumbs li > a > img {
    width: 100% !important;
    height: 138px !important;
    padding: 0;
    box-sizing: border-box;
    object-fit: contain;
    border: 0;
    border-radius: 10px;
    background: #F8FBFF;
    box-shadow: none;
}

.student-dashboard-modern .da-thumbs li a > div {
    display: none !important;
}

.student-dashboard-modern .da-thumbs .class,
.student-dashboard-modern .da-thumbs .subject {
    margin: 0;
    padding: 0 4px;
    text-align: left;
    font-family: inherit !important;
}

.student-dashboard-modern .da-thumbs .class {
    margin-top: 13px;
    color: var(--lms-navy);
    font-size: 16px;
    font-weight: 700;
}

.student-dashboard-modern .da-thumbs .subject {
    margin-top: 4px !important;
    color: var(--lms-muted);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
}

.student-dashboard-modern .da-thumbs .subject:last-child:before {
    content: "\f007";
    margin-right: 6px;
    color: #6E8DBA;
    font-family: FontAwesome;
}

.student-dashboard-modern .alert-info {
    grid-column: 1 / -1;
    padding: 16px 18px;
    border: 1px solid #CFE8FA;
    border-radius: 12px;
    background: #EFF8FF !important;
    color: #245A82;
    text-shadow: none;
}

/* Footer */
.student-dashboard-modern footer {
    margin: 35px 0 22px !important;
    color: #94A3B8 !important;
    font-weight: 400 !important;
}

.student-dashboard-modern footer p {
    color: #94A3B8 !important;
}

/* Responsive */
@media (max-width: 1250px) {
    .student-dashboard-modern .da-thumbs {
        grid-template-columns: repeat(3, minmax(170px, 1fr));
    }
}

@media (max-width: 980px) {
    .student-dashboard-modern {
        padding-top: 76px !important;
    }

    .student-dashboard-modern .container-fluid > .row-fluid {
        display: block;
    }

    .student-dashboard-modern #sidebar.span3,
    .student-dashboard-modern #content.span9 {
        width: 100% !important;
        min-width: 0;
    }

    .student-dashboard-modern #sidebar.span3 {
        margin-bottom: 20px;
    }

    .student-dashboard-modern #avatar {
        width: 110px !important;
        height: 110px !important;
    }

    .student-dashboard-modern .navbar .brand .brand-panel,
    .student-dashboard-modern .navbar .brand .brand-divider {
        display: none;
    }
}

@media (max-width: 767px) {
    .student-dashboard-modern {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .student-dashboard-modern .navbar .container-fluid {
        padding-left: 14px;
        padding-right: 14px;
    }

    .student-dashboard-modern .navbar .brand {
        font-size: 15px !important;
    }

    .student-dashboard-modern .modern-page-heading {
        display: block;
    }

    .student-dashboard-modern .school-year-chip {
        margin-top: 14px;
    }

    .student-dashboard-modern .block .navbar-inner.block-header {
        min-height: 0;
        display: block;
        padding: 18px;
    }

    .student-dashboard-modern .class-count-chip {
        margin-top: 14px;
    }

    .student-dashboard-modern .block-content {
        padding: 18px;
    }

    .student-dashboard-modern .da-thumbs {
        grid-template-columns: repeat(2, minmax(130px, 1fr));
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .student-dashboard-modern .da-thumbs {
        grid-template-columns: 1fr;
    }

    .student-dashboard-modern .modern-page-heading h1 {
        font-size: 28px;
    }
}


/* ===== LMS V3 LAYOUT STABILIZATION =====
   Forces a single visual geometry across Student / Teacher modules.
   This intentionally overrides legacy Bootstrap 2 !important span widths
   from admin/assets/styles.css. */
@media (min-width: 981px) {
    .lms-modern:not(#login) > .container-fluid > .row-fluid,
    .lms-modern:not(#login) .container-fluid > .row-fluid:first-child {
        display: flex !important;
        align-items: flex-start !important;
        gap: 26px !important;
    }

    .lms-modern:not(#login) #sidebar.span3 {
        flex: 0 0 290px !important;
        width: 290px !important;
        min-width: 290px !important;
        max-width: 290px !important;
        margin-left: 0 !important;
        float: none !important;
    }

    .lms-modern:not(#login) #content.span9,
    .lms-modern:not(#login) #content.span6 {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin-left: 0 !important;
        float: none !important;
    }

    .lms-modern:not(#login) .lms-right-sidebar.span3 {
        flex: 0 0 310px !important;
        width: 310px !important;
        min-width: 310px !important;
        max-width: 310px !important;
        margin-left: 0 !important;
        float: none !important;
    }
}

/* Keep the avatar locked to exactly the same place/size in every module. */
.lms-modern:not(#login) #sidebar #avatar,
.lms-modern:not(#login) #sidebar img#avatar,
.student-dashboard-modern #avatar {
    display: block !important;
    width: 168px !important;
    height: 168px !important;
    min-width: 168px !important;
    min-height: 168px !important;
    max-width: 168px !important;
    max-height: 168px !important;
    margin: 2px auto 18px !important;
    padding: 0 !important;
    float: none !important;
    object-fit: cover !important;
    border: 4px solid #fff !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
    box-shadow: 0 10px 30px rgba(15,23,42,.16) !important;
}

/* Teacher dashboard intentionally shares the same class-card theme as Student. */
.teacher-dashboard-modern .modern-page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin: 2px 0 26px;
    padding: 10px 6px 0;
}
.teacher-dashboard-modern .modern-page-heading .eyebrow {
    margin: 0 0 5px;
    color: #7890B4;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}
.teacher-dashboard-modern .modern-page-heading h1 {
    margin: 0;
    color: var(--lms-navy);
    font-size: 34px;
    line-height: 1.1;
    font-weight: 700;
}
.teacher-dashboard-modern .school-year-chip {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid #DCE8F8;
    border-radius: 12px;
    background: rgba(255,255,255,.84);
    color: #55719F;
    font-size: 14px;
    box-shadow: 0 4px 18px rgba(15,23,42,.04);
}
.teacher-dashboard-modern .school-year-chip i { color: var(--lms-blue); }
.teacher-dashboard-modern .breadcrumb { display: none; }

.teacher-dashboard-modern .block {
    margin: 0 0 24px;
    border: 1px solid rgba(226,232,240,.92) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: var(--lms-shadow) !important;
    overflow: hidden;
}
.teacher-dashboard-modern .block .navbar-inner.block-header {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 28px;
    border: 0 !important;
    border-bottom: 1px solid #EEF2F7 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}
.teacher-dashboard-modern .modern-block-title {
    display: flex;
    align-items: center;
    gap: 14px;
}
.teacher-dashboard-modern .modern-block-icon {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: linear-gradient(145deg, var(--lms-blue), #3188FF);
    color: #fff;
    font-size: 21px;
    box-shadow: 0 8px 18px rgba(37,99,235,.22);
}
.teacher-dashboard-modern .modern-block-title strong {
    display: block;
    margin-bottom: 2px;
    color: var(--lms-navy);
    font-size: 20px;
    line-height: 1.2;
}
.teacher-dashboard-modern .modern-block-title small {
    display: block;
    color: var(--lms-muted);
    font-size: 13px;
}
.teacher-dashboard-modern .class-count-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 19px;
    background: #EEF6FF;
    color: #54749C;
}
.teacher-dashboard-modern .class-count-chip i { color: var(--lms-blue); }
.teacher-dashboard-modern .class-count-chip .badge {
    min-width: auto;
    padding: 0;
    background: transparent !important;
    color: var(--lms-navy);
    font-size: 20px;
    font-weight: 700;
    text-shadow: none;
}
.teacher-dashboard-modern .block-content { padding: 25px 25px 30px; }
.teacher-dashboard-modern .block-content .span12 {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
}
.teacher-dashboard-modern .da-thumbs {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(155px, 1fr));
    gap: 18px;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.teacher-dashboard-modern .da-thumbs > li {
    width: auto !important;
    min-width: 0;
    float: none !important;
    margin: 0 !important;
    padding: 12px 12px 14px !important;
    box-sizing: border-box;
    border: 1px solid #E8EEF7 !important;
    border-top: 4px solid var(--lms-blue) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(15,23,42,.06) !important;
    overflow: hidden;
    transition: .22s ease;
}
.teacher-dashboard-modern .da-thumbs > li:nth-child(2n) { border-top-color: var(--lms-cyan) !important; }
.teacher-dashboard-modern .da-thumbs > li:hover {
    transform: translateY(-4px);
    border-color: #CFE0F7 !important;
    box-shadow: 0 14px 32px rgba(15,23,42,.10) !important;
}
.teacher-dashboard-modern .da-thumbs > li > a:first-child {
    display: block;
    border-radius: 10px;
    background: #F8FBFF;
}
.teacher-dashboard-modern .da-thumbs > li > a:first-child > img {
    width: 100% !important;
    height: 138px !important;
    padding: 0 !important;
    box-sizing: border-box;
    object-fit: contain;
    border: 0 !important;
    border-radius: 10px !important;
    background: #F8FBFF;
    box-shadow: none !important;
}
.teacher-dashboard-modern .da-thumbs li a > div { display: none !important; }
.teacher-dashboard-modern .da-thumbs .class,
.teacher-dashboard-modern .da-thumbs .subject {
    margin: 0;
    padding: 0 4px;
    text-align: left;
    font-family: inherit !important;
}
.teacher-dashboard-modern .da-thumbs .class {
    margin-top: 13px;
    color: var(--lms-navy);
    font-size: 16px;
    font-weight: 700;
}
.teacher-dashboard-modern .da-thumbs .subject {
    margin-top: 4px !important;
    color: var(--lms-muted);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
}
.teacher-dashboard-modern .class-card-delete {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    margin: 12px 4px 0 !important;
    padding: 7px 10px !important;
    border-radius: 8px !important;
    background: #FFF1F2 !important;
    color: #DC2626 !important;
    font-size: 12px;
    font-weight: 700;
}
.teacher-dashboard-modern .class-card-delete:hover {
    background: #FFE4E6 !important;
    color: #B91C1C !important;
}

@media (max-width: 1250px) {
    .teacher-dashboard-modern .da-thumbs { grid-template-columns: repeat(2, minmax(170px,1fr)); }
}
@media (max-width: 980px) {
    .lms-modern:not(#login) #sidebar.span3,
    .lms-modern:not(#login) #content.span9,
    .lms-modern:not(#login) #content.span6,
    .lms-modern:not(#login) .lms-right-sidebar.span3 {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin-left: 0 !important;
        float: none !important;
    }
    .teacher-dashboard-modern .da-thumbs { grid-template-columns: repeat(2, minmax(150px,1fr)); }
}
@media (max-width: 650px) {
    .teacher-dashboard-modern .da-thumbs { grid-template-columns: 1fr; }
    .teacher-dashboard-modern .modern-page-heading { align-items: flex-start; flex-direction: column; }
}
