@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap";:root{--alsiraj-red: #ED1B24;--alsiraj-red-hover: #c4121a;--alsiraj-black: #231F20;--color-50: #f8fafc;--color-100: #f1f5f9;--color-200: #e2e8f0;--color-300: #cbd5e1;--color-400: #94a3b8;--color-500: #64748b;--color-600: #475569;--color-700: #334155;--color-800: #1e293b;--color-900: #0f172a;--color-950: #111827;--success: #16a34a;--danger: #dc2626;--warning: #f59e0b;--info: #0ea5e9;--border-color: #dbe3ed;--border-light: #e2e8f0;--border-lighter: #f1f5f9;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 14px;--radius-pill: 999px;--shadow-sm: 0 2px 6px rgba(15, 23, 42, .06);--shadow-md: 0 8px 18px rgba(15, 23, 42, .08);--shadow-lg: 0 14px 30px rgba(15, 23, 42, .08);--shadow-xl: 0 20px 44px rgba(15, 23, 42, .14);--gradient-header: linear-gradient(135deg, #111827 0%, #1f2937 40%, #ED1B24 100%);--gradient-sidebar: linear-gradient(180deg, #161316 0%, #1b171b 60%, #151215 100%)}.btn-primary{background-color:var(--alsiraj-red);border-color:var(--alsiraj-red)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background-color:var(--alsiraj-red-hover)!important;border-color:var(--alsiraj-red-hover)!important}.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active{background-color:var(--alsiraj-red);color:#fff}.card-primary.card-outline{border-top:3px solid var(--alsiraj-red)}.card-primary:not(.card-outline)>.card-header{background-color:var(--alsiraj-red)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background-color:var(--alsiraj-red)}a{color:var(--alsiraj-red)}a:hover{color:var(--alsiraj-red-hover)}.page-item.active .page-link{background-color:var(--alsiraj-red);border-color:var(--alsiraj-red)}.dropdown-item.active,.dropdown-item:active{background-color:var(--alsiraj-red)}.icheck-primary>input:first-child:checked+label:before,.icheck-primary>input:first-child:checked+input[type=hidden]+label:before{background-color:var(--alsiraj-red);border-color:var(--alsiraj-red)}.text-primary{color:var(--alsiraj-red)!important}.user-header.bg-primary{background-color:var(--alsiraj-red)!important}body.login-page{background:linear-gradient(135deg,var(--alsiraj-black) 0%,#444 100%)}html,body,.wrapper,.content-wrapper,.main-footer{overflow-x:hidden}.main-sidebar{background:var(--gradient-sidebar);border-right:1px solid rgba(255,255,255,.08);box-shadow:6px 0 22px #0f172a2e;overflow-x:hidden}.brand-link{border-bottom:1px solid rgba(255,255,255,.09);padding-top:.6rem;padding-bottom:.6rem;background:#ffffff08;display:flex;align-items:center;justify-content:center}.brand-link .brand-image-xl{opacity:.96!important;filter:drop-shadow(0 2px 6px rgba(0,0,0,.28))}.main-sidebar .sidebar{padding:.22rem .36rem .45rem;overflow-x:hidden!important}.main-sidebar .user-panel{margin-top:.22rem!important;margin-bottom:.3rem!important;padding:.34rem!important;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,#ffffff0a,#ffffff03)}.main-sidebar .user-panel .image img{border:2px solid rgba(255,255,255,.26);box-shadow:0 6px 12px #0000003d}.main-sidebar .user-panel .info a{color:#f8fafc!important;font-weight:700;font-size:.84rem;letter-spacing:.01em}.main-sidebar .nav-sidebar>.nav-item{margin-bottom:.08rem}.main-sidebar .nav-sidebar>.nav-item>.nav-link{border-radius:var(--radius-lg);padding:.39rem .46rem;font-size:.81rem;font-weight:600;color:#f1f5f9d6;transition:all .16s ease;margin-right:0;width:100%}.main-sidebar .nav-sidebar>.nav-item>.nav-link p{margin-left:.28rem}.main-sidebar .nav-sidebar>.nav-item>.nav-link .nav-icon{width:23px;height:23px;margin:0;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;background:#ffffff12;color:#f1f5f9e6;transition:all .16s ease}.main-sidebar .nav-sidebar>.nav-item>.nav-link:hover{background:#ffffff12;color:#fff}.main-sidebar .nav-sidebar>.nav-item>.nav-link:hover .nav-icon{background:#ffffff24;color:#fff}.main-sidebar .nav-sidebar>.nav-item>.nav-link.active{background:linear-gradient(135deg,#ed1b24,#d0161f);color:#fff!important;box-shadow:0 8px 16px #ed1b2459}.main-sidebar .nav-sidebar>.nav-item>.nav-link.active .nav-icon{background:#fff3;color:#fff}.main-sidebar .nav-header{margin-top:.28rem;margin-bottom:.1rem;padding:.22rem .25rem .08rem!important;font-size:.55rem;font-weight:800;letter-spacing:.09em;color:#94a3b8d6!important;text-transform:uppercase}.main-sidebar nav.mt-2{margin-top:.04rem!important}.main-sidebar .os-content,.main-sidebar .os-viewport{overflow-x:hidden!important}body.sidebar-mini.sidebar-collapse .main-sidebar:hover,body.sidebar-mini.sidebar-collapse .main-sidebar{width:73px!important;transition:none!important;max-width:73px!important}body.sidebar-mini.sidebar-collapse .main-sidebar .sidebar{padding-left:0!important;padding-right:0!important;width:73px!important}body.sidebar-mini.sidebar-collapse .main-sidebar .user-panel{padding:.5rem 0!important;display:flex!important;justify-content:center!important;border:none!important;background:transparent!important;margin:0!important;width:100%!important}body.sidebar-mini.sidebar-collapse .main-sidebar .user-panel .info{display:none!important}body.sidebar-mini.sidebar-collapse .main-sidebar .user-panel .image{padding:0!important;margin:0!important;display:block!important}body.sidebar-mini.sidebar-collapse .main-sidebar .nav-sidebar{align-items:center!important;width:100%!important}body.sidebar-mini.sidebar-collapse .main-sidebar .nav-sidebar>.nav-item{width:100%!important;display:flex!important;justify-content:center!important;margin-bottom:.2rem!important}body.sidebar-mini.sidebar-collapse .main-sidebar .nav-sidebar>.nav-item>.nav-link{width:42px!important;height:42px!important;margin:0!important;padding:0!important;border-radius:12px!important;display:flex!important;align-items:center!important;justify-content:center!important}body.sidebar-mini.sidebar-collapse .main-sidebar .nav-sidebar>.nav-item>.nav-link .nav-icon{width:20px!important;height:20px!important;font-size:.85rem!important;background:transparent!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important}body.sidebar-mini.sidebar-collapse .main-sidebar .nav-sidebar>.nav-item>.nav-link p{display:none!important}body.sidebar-mini.sidebar-collapse .main-sidebar .nav-header,body.sidebar-mini.sidebar-collapse .main-sidebar .brand-link .brand-text{display:none!important}body.sidebar-mini.sidebar-collapse .main-sidebar .brand-link{padding-left:0!important;padding-right:0!important;margin:0!important;display:flex!important;justify-content:center!important;width:100%!important;border-bottom:1px solid rgba(255,255,255,.05)!important}body.sidebar-mini.sidebar-collapse .main-sidebar .brand-link img{margin:0!important;float:none!important}.user-menu .dropdown-menu{width:270px;border:0;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:0 18px 34px #0f172a33;padding:0;margin-top:.45rem}.user-menu .user-header{padding:1.2rem 1rem .95rem!important;background:linear-gradient(145deg,#ed1b24,#b90f16)!important}.user-menu .user-header img{border:3px solid rgba(255,255,255,.55);box-shadow:0 8px 18px #00000040;margin-bottom:.45rem}.user-menu .user-header p{margin-bottom:0;font-weight:700;font-size:1rem;line-height:1.2}.user-menu .user-header small{margin-top:.2rem;display:block;text-transform:uppercase;letter-spacing:.04em;font-weight:600;opacity:.95}.user-menu .user-footer{padding:.8rem;background:var(--color-50);border-top:1px solid var(--border-light)}.user-menu .user-footer .dropdown-action{border-radius:9px;border:1px solid var(--border-color);font-size:.82rem;font-weight:700;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 .75rem;background:#fff;color:var(--color-700);transition:all .15s ease}.user-menu .user-footer .dropdown-action:hover{border-color:var(--color-300);background:var(--color-100);color:var(--color-900)}.user-menu .user-footer .dropdown-action.danger{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.user-menu .user-footer .dropdown-action.danger:hover{background:#fecaca;border-color:#fca5a5;color:#991b1b}.password-modal .modal-content{border:0;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-xl)}.password-modal .modal-header{border-bottom:1px solid var(--border-light);background:linear-gradient(140deg,#f8fafc,#eef2f7);padding:.9rem 1rem}.password-modal .modal-title{font-size:1.05rem;font-weight:800;color:var(--color-950)}.password-modal .modal-title i{color:var(--alsiraj-red)}.password-modal .modal-body{padding:1rem;background:#fff}.password-modal .modal-caption{background:var(--color-50);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:.55rem .75rem;font-size:.78rem;font-weight:600;color:var(--color-600);margin-bottom:.9rem}.password-modal .form-group label{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;font-weight:700;color:var(--color-600)}.password-modal .input-group-text{background:var(--color-50);border-color:var(--border-color);color:var(--color-400)}.password-modal .form-control{border-color:var(--border-color);border-radius:var(--radius-md);height:40px;box-shadow:none}.password-modal .form-control:focus{border-color:var(--alsiraj-red)}.password-modal .modal-footer{border-top:1px solid var(--border-light);background:var(--color-50);padding:.75rem 1rem}.password-modal .btn{border-radius:var(--radius-md);font-size:.82rem;font-weight:700;min-width:84px}.audit-meta{display:grid;gap:.16rem;min-width:0;max-width:100%}.audit-meta .audit-row{display:flex;align-items:center;gap:.35rem;background:transparent;border:0;border-radius:0;padding:0;line-height:1.2;white-space:nowrap}.audit-meta .audit-label{display:inline-flex;align-items:center;gap:.2rem;font-size:.58rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:var(--color-500);margin-bottom:0;min-width:52px}.audit-meta .audit-label i{font-size:.58rem}.audit-meta .audit-time{display:inline;font-size:.68rem;font-weight:700;color:var(--color-900);margin-bottom:0}.audit-meta .audit-user{display:inline-block;font-size:.65rem;font-weight:700;color:var(--color-700);background:transparent;border-radius:0;padding:0;opacity:.92}.form-card-wrap{width:100%}.form-card{border:0;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-lg)}.form-card>.card-header{border:0;padding:1rem 1.1rem;background:var(--gradient-header);color:#fff}.form-card .card-header-title{margin:0;font-size:1rem;font-weight:800}.form-card .card-header-subtitle{margin:.2rem 0 0;font-size:.8rem;opacity:.88}.form-card>.card-body{padding:1.15rem;background:#fff}.form-card>.card-footer,.form-card>form>.card-footer{background:var(--color-50);border-top:1px solid var(--border-light);padding:.85rem 1.1rem}.form-card label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-500);font-weight:700;margin-bottom:.35rem}.form-card .form-control{border-radius:9px;border-color:var(--border-color);min-height:42px}.form-card .form-control:focus{border-color:var(--alsiraj-red);box-shadow:none}.form-help{font-size:.78rem;color:var(--color-500);margin-top:.35rem}.form-note{margin-top:.55rem;font-size:.78rem;color:var(--color-500)}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.form-actions .btn{border-radius:var(--radius-md);font-weight:700}.form-section{border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:.9rem;margin-bottom:.9rem;background:#fbfdff}.form-section:last-child{margin-bottom:0}.section-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-500);font-weight:800;margin-bottom:.75rem}.modern-card{border:0;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-lg)}.modern-card .card-header{background:#fff!important;border-bottom:1px solid var(--border-light)!important;padding:1rem 1.1rem!important}.modern-card .card-title{margin:0;font-size:1.05rem!important;font-weight:800!important;color:var(--color-950);display:inline-flex;align-items:center;gap:.45rem}.modern-card .card-title i{color:var(--alsiraj-red)!important}.modern-card .card-tools{display:flex;flex-wrap:wrap;gap:.45rem}.modern-card .card-tools .btn{border-radius:var(--radius-md)!important;font-weight:700;box-shadow:none!important}.modern-card .card-tools .btn.btn-primary{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#dc2626}.modern-card .card-body{padding:1rem 1.1rem!important;background:#fff}.filter-section{background:#fbfdff!important;border:1px solid var(--border-light)!important;border-radius:var(--radius-xl)!important;padding:.85rem .9rem!important;margin-bottom:.9rem!important;box-shadow:none!important}.filter-section label{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-500);font-weight:700}.filter-section .form-control{border-radius:9px;border-color:var(--border-color);min-height:40px}.table-container{border:1px solid var(--border-light);border-radius:11px;overflow:hidden;padding:.55rem!important;background:#fff}#table{margin:0!important;border:0!important;width:100%!important}#table thead th{background:var(--color-50)!important;border-bottom:1px solid var(--border-light)!important;text-transform:uppercase;font-size:.72rem!important;letter-spacing:.05em;font-weight:700;color:var(--color-500);padding:.72rem .6rem!important;vertical-align:middle}#table tbody td{padding:.74rem .6rem!important;vertical-align:middle;border-bottom:1px solid var(--border-lighter)}#table tbody tr:last-child td{border-bottom:0}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{margin-bottom:.7rem}.dataTables_wrapper .dataTables_length label,.dataTables_wrapper .dataTables_filter label{font-size:.82rem;color:var(--color-500);font-weight:600}.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{border:1px solid var(--border-color);border-radius:var(--radius-md);min-height:34px;padding:.25rem .55rem;font-size:.82rem;color:var(--color-700)}.dataTables_wrapper .dataTables_length select{min-width:74px!important;width:74px!important;padding-right:1.45rem!important;background-position:right .45rem center!important;background-size:9px 10px!important;line-height:1.2}.dataTables_wrapper .dataTables_info{color:var(--color-500);font-size:.8rem}.dataTables_wrapper .dataTables_paginate .paginate_button{border-radius:var(--radius-md)!important}.btn-action{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .2s;margin-right:4px}.btn-action:last-child{margin-right:0}.btn-action:hover{transform:translateY(-1px);box-shadow:0 8px 14px #0f172a1f}.badge-modern{padding:5px 10px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700}@media (max-width: 767.98px){.modern-card .card-header,.modern-card .card-body{padding:.85rem!important}.modern-card .card-tools .btn{padding:.35rem .6rem!important;font-size:.76rem}}.review-box{border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:.8rem .9rem;background:#fff}.review-box .custom-control-label{text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--color-950);font-weight:700;padding-left:.1rem;cursor:pointer}.review-box .custom-control-label:before{border-radius:var(--radius-pill);width:2.1rem;height:1.15rem;top:.18rem;border-color:var(--color-300);background:var(--color-200)}.review-box .custom-control-label:after{width:.88rem;height:.88rem;top:.31rem;left:calc(-2.1rem + 2px);border-radius:var(--radius-pill);background:#fff;box-shadow:0 1px 2px #0f172a40}.review-box .custom-control-input:checked~.custom-control-label:before{background:var(--success);border-color:var(--success)}.review-box .custom-control-input:checked~.custom-control-label:after{background:#fff}.question-bank-summary{border:1px solid #fecaca;border-radius:var(--radius-xl);padding:.9rem;background:linear-gradient(180deg,#fff8f8,#fff);margin-bottom:.9rem}.question-bank-summary h5{margin:0;font-size:.92rem;font-weight:800;color:var(--color-950)}.question-bank-summary p{margin:.35rem 0 0;color:var(--color-600)}.summary-meta{display:inline-flex;align-items:center;gap:.35rem;background:#fee2e2;color:#991b1b;border-radius:var(--radius-pill);padding:.22rem .55rem;font-size:.73rem;font-weight:700;margin-top:.55rem}.summary-count-card{border:1px solid #fecaca;border-radius:var(--radius-lg);background:#fff;padding:.65rem .75rem;text-align:center;min-width:150px}.summary-count-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-500);font-weight:700}.summary-count-value{font-size:1.4rem;line-height:1.2;color:var(--danger);font-weight:800;margin-top:.2rem}.exam-token{font-family:monospace;font-size:.8rem;letter-spacing:.08em;font-weight:800;padding:.32rem .52rem;border-radius:var(--radius-md)}.btn-token-action{border-radius:7px!important;width:28px;height:28px;padding:0!important;display:inline-flex;align-items:center;justify-content:center}.question-text-snippet{max-width:380px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;color:#1f2937}.answer-chip{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:26px;border-radius:7px;background:#eef2ff;color:#3730a3;font-weight:800;font-size:.76rem}.option-card{border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:.7rem;background:#fff;margin-bottom:.8rem}.exam-list-card{border:0;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:0 12px 26px #0f172a14}.exam-list-card .card-header{background:#fff;border-bottom:1px solid var(--border-light)}.exam-list-card .card-title{font-weight:800}@media (max-width: 767.98px){.exam-list-card .card-body{padding:.75rem}.exam-list-card .alert{font-size:.8rem;line-height:1.4;margin-bottom:.7rem}}.badge-relation{padding:4px 10px;border-radius:6px;font-size:.7rem;font-weight:600;background:#ed1b240d;color:var(--alsiraj-red);border:1px solid rgba(237,27,36,.1);margin:2px;display:inline-block}.user-profile{display:flex;align-items:center;gap:12px}.user-avatar{width:35px;height:35px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;color:#adb5bd}.modal-modern{border-radius:15px;border:none}.modal-modern .modal-header{border-bottom:1px solid #f0f0f0;padding:1.5rem}.modal-modern .modal-footer{border-top:1px solid #f0f0f0;padding:1rem 1.5rem}.reset-access-modal .modal-content{border:0;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-xl)}.reset-access-modal .modal-header{border-bottom:1px solid var(--border-light);background:linear-gradient(140deg,#f8fafc,#eef2f7);padding:.9rem 1rem}.reset-access-modal .modal-title{font-size:1.05rem;font-weight:800;color:var(--color-950)}.reset-access-modal .modal-title i{color:var(--alsiraj-red);margin-right:.4rem}.reset-access-modal .modal-header .close{font-size:1.3rem;color:var(--color-400);opacity:.8;text-shadow:none;transition:color .15s}.reset-access-modal .modal-header .close:hover{color:var(--color-700);opacity:1}.reset-access-modal .modal-body{padding:1rem;background:#fff}.reset-access-modal .modal-caption{background:var(--color-50);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:.55rem .75rem;font-size:.78rem;font-weight:600;color:var(--color-600);margin-bottom:.9rem}.reset-access-modal .modal-caption strong{color:var(--color-900)}.reset-access-modal .form-group label{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;font-weight:700;color:var(--color-600)}.reset-access-modal .input-group-text{background:var(--color-50);border-color:var(--border-color);color:var(--color-400);cursor:pointer;transition:color .15s,background .15s}.reset-access-modal .input-group-text:hover{color:var(--alsiraj-red);background:#ed1b240a}.reset-access-modal .form-control{border-color:var(--border-color);border-radius:var(--radius-md);height:40px;box-shadow:none}.reset-access-modal .form-control:focus{border-color:var(--alsiraj-red);box-shadow:0 0 0 2px #ed1b241a}.reset-access-modal .modal-footer{border-top:1px solid var(--border-light);background:var(--color-50);padding:.75rem 1rem}.reset-access-modal .modal-footer .btn{border-radius:var(--radius-md);font-size:.82rem;font-weight:700;min-width:84px}.reset-access-modal .modal-footer .btn-default{background:#fff;border-color:var(--border-color);color:var(--color-600)}.reset-access-modal .modal-footer .btn-default:hover{background:var(--color-50);color:var(--color-800)}.target-students-modal .modal-content{border:0;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-xl)}.target-students-modal .modal-dialog{max-width:980px}.target-students-modal .modal-header{border:0;padding:1rem 1.2rem;background:linear-gradient(135deg,var(--alsiraj-red),#b90f16);color:#fff}.target-students-modal .modal-title{font-size:1rem;font-weight:800}.target-students-modal .modal-body{background:#fff;padding:1rem!important}.target-students-modal .table-responsive{border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:.55rem;background:#fff}.target-students-modal .table{margin:0!important;border:0!important}.target-students-modal .table thead th{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-500);border-bottom:1px solid var(--border-light);border-top:0;background:var(--color-50);padding:.72rem .8rem;font-weight:700}.target-students-modal .table tbody td{border-top:0;border-bottom:1px solid var(--border-lighter);vertical-align:middle;padding:.74rem .8rem}.target-students-modal .table tbody tr:last-child td{border-bottom:0}.target-students-modal .student-code{background:#eff6ff;color:#1d4ed8;border-radius:var(--radius-pill);padding:.16rem .5rem;font-size:.72rem;font-weight:700;font-family:monospace;display:inline-block}.target-students-modal .modal-footer{border-top:1px solid var(--border-light);background:var(--color-50);padding:.75rem 1rem}.target-students-modal .dataTables_wrapper .dataTables_paginate .paginate_button{border-radius:var(--radius-md)!important}.target-students-modal .dataTables_wrapper .dataTables_paginate .paginate_button.current,.target-students-modal .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{background:var(--alsiraj-red)!important;color:#fff!important;border-color:var(--alsiraj-red)!important}.target-students-modal .dataTables_info,.target-students-modal .dataTables_length,.target-students-modal .dataTables_filter{font-size:.82rem;color:var(--color-500);font-weight:600}.target-students-modal .dataTables_info{color:var(--color-400);font-weight:500}.target-students-modal .dataTables_wrapper .row:first-child{margin-bottom:.7rem}.target-students-modal .dataTables_wrapper .row:last-child{margin-top:.85rem}.target-students-modal .dataTables_length select,.target-students-modal .dataTables_filter input{height:34px;border-radius:var(--radius-md);border-color:var(--border-color);padding:.25rem .55rem}.target-students-modal .dataTables_length label{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.target-students-modal .dataTables_wrapper .dataTables_length select{width:72px!important;min-width:72px!important;padding-right:1.3rem}.target-students-modal .dataTables_wrapper,.target-students-modal #targetStudentsTable{width:100%!important}.listing-card .filter-select{min-width:160px;max-width:240px}.select2-container--default .select2-selection--single{height:38px;padding:4px 10px;border-radius:var(--radius-md);border:1px solid var(--border-color)}.select2-container--default .select2-selection__rendered{line-height:1.2;font-size:.92rem;color:var(--color-900)}.select2-container--default .select2-selection__arrow{height:36px}.danger-panel{border:1px solid #fecaca;background:linear-gradient(180deg,#fff5f5,snow);border-radius:var(--radius-xl);padding:1rem}.danger-head{display:flex;align-items:center;gap:.55rem;color:#b91c1c;font-weight:800;margin-bottom:.65rem}.danger-copy{color:var(--color-500);font-size:.9rem;margin-bottom:.75rem}.danger-list{margin:0;padding-left:0;list-style:none}.danger-list li{border:1px solid #fee2e2;background:#fff;border-radius:var(--radius-md);padding:.55rem .65rem;margin-bottom:.45rem;font-size:.83rem;color:var(--color-600);font-weight:600}.danger-list li i{color:#ef4444;margin-right:.45rem}.danger-lock{margin-top:.5rem;border-radius:var(--radius-md);border:1px solid #fecaca;background:#fff;color:#b91c1c;font-size:.76rem;font-weight:800;padding:.55rem .7rem;text-transform:uppercase;letter-spacing:.03em}.settings-actions{margin-top:1rem;border-top:1px solid var(--border-light);padding-top:1rem;text-align:center}.settings-actions .btn-danger{border-radius:var(--radius-lg);font-weight:800;letter-spacing:.02em;padding:.72rem 1.5rem;box-shadow:0 12px 24px #dc262638}.settings-actions .btn-danger:hover{transform:translateY(-2px)}.settings-note{margin-top:.8rem;color:var(--color-500);font-size:.8rem;font-weight:600}.assignment-grid{display:flex;flex-direction:column;gap:10px;max-width:100%;max-height:5000px;overflow:visible;transition:max-height .5s ease}.assignment-grid.collapsed{max-height:240px;overflow:hidden;position:relative}.assignment-grid.collapsed:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(to bottom,transparent,#f8f9fa 95%);pointer-events:none;z-index:1}.assignment-pill{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e0e4e8;border-radius:10px;overflow:hidden;border-left:5px solid var(--alsiraj-red);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #00000014;max-width:100%}.assignment-pill:hover{transform:translate(4px) translateY(-2px);border-left-color:#007bff;box-shadow:0 4px 12px #007bff26;background:linear-gradient(135deg,#fff,#f0f5ff)}.pill-main{padding:10px 12px;display:flex;align-items:center;gap:8px;background:#00000005;border-bottom:1px solid #f0f0f0;font-size:.85rem;flex-wrap:wrap}.pill-class{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;font-weight:700;padding:4px 10px;border-radius:6px;font-size:.75rem;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;flex-shrink:0;box-shadow:0 2px 4px #007bff33}.pill-class i{font-size:.7rem}.pill-divider{margin:0 4px;color:silver;font-size:.65rem;flex-shrink:0}.pill-subject{color:#1a202c;font-weight:600;flex:1;min-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill-meta{padding:8px 12px;font-size:.7rem;color:#5a6c7d;background:#f8f9fa;display:flex;align-items:center;gap:8px}.pill-meta i{color:#89949e;font-size:.65rem;flex-shrink:0}.pill-dept-course{display:flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill-dept-course span{padding:2px 6px;background:#e8eef7;border-radius:4px;color:#5a6c7d;font-weight:500;font-size:.65rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill-dept-course .divider{margin:0 2px;background:silver;width:1px;height:.65rem}.assignment-container{position:relative;width:100%}.view-all-btn{display:inline-flex;align-items:center;gap:8px;margin-top:12px;margin-bottom:0;padding:8px 14px;background:#007bff;color:#fff;border:1px solid #0056b3;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;white-space:nowrap;position:relative;z-index:2}.view-all-btn:hover{background:#0056b3;border-color:#003d82;transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d}.view-all-btn i{font-size:.75rem}.assignment-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;background:#28a745;color:#fff;border-radius:50%;font-weight:700;font-size:.8rem;flex-shrink:0;box-shadow:0 2px 6px #28a74540}.assignment-modal-body{max-height:70vh;overflow-y:auto;padding:20px}.assignment-modal-body .assignment-grid{max-height:none;overflow:visible}.assignment-modal-body .assignment-grid:after{display:none}@media (max-width: 768px){.assignment-pill{max-width:100%}.pill-main{flex-direction:column;align-items:flex-start;gap:6px}.pill-subject{width:100%}.assignment-grid.collapsed{max-height:160px}}.instruction-box{border-radius:10px;padding:.85rem .9rem;border-left:4px solid var(--alsiraj-red);background:#fff}.instruction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.instruction-item{background:#f8fafc;border:1px solid #e9edf3;border-radius:10px;padding:.7rem .75rem}.instruction-item h6{margin:0 0 .45rem;font-size:.8rem;font-weight:800;color:#334155}.instruction-item p,.instruction-item ul{margin:0;font-size:.78rem;color:#64748b;line-height:1.5}.instruction-item ul{padding-left:1rem}.column-chip{display:inline-block;background:#eef2f7;color:#374151;border-radius:999px;padding:.15rem .45rem;font-size:.7rem;font-weight:700;margin:2px 3px 2px 0}.upload-zone:hover,.upload-zone.dragover{border-color:var(--alsiraj-red);background:#ed1b2405}.upload-zone:hover .upload-icon{color:var(--alsiraj-red)}.field-box{border:1px solid #e2e8f0;border-radius:10px;padding:.7rem;background:#fff}.field-box label{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:800;margin-bottom:.35rem;display:block}.field-box .form-control{border-radius:9px;border-color:#dbe3ed;min-height:40px}.field-box .form-control:focus{border-color:#ed1b24;box-shadow:none}.btn-modern{padding:.58rem 1.1rem;border-radius:8px;font-weight:700}.template-link{color:var(--alsiraj-red);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:5px}.import-actions{display:flex;justify-content:space-between;align-items:center;gap:.7rem;flex-wrap:wrap}@media (max-width: 991.98px){.instruction-grid{grid-template-columns:1fr}}.review-stats{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:.95rem}.review-stat{border-radius:12px;padding:.85rem .9rem;color:#fff;box-shadow:0 10px 22px #0f172a1f}.review-stat.total{background:linear-gradient(135deg,#0891b2,#0ea5e9)}.review-stat.valid{background:linear-gradient(135deg,#16a34a,#22c55e)}.review-stat.error{background:linear-gradient(135deg,#dc2626,#ef4444)}.review-stat .k{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800;opacity:.95}.review-stat .v{margin-top:.25rem;font-size:1.45rem;line-height:1;font-weight:800}.review-table-wrap{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.review-table-wrap .table{margin:0}.review-table-wrap .table thead th{background:#f8fafc;color:#334155;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0;vertical-align:middle}.review-table-wrap .table td{vertical-align:middle;font-size:.85rem}.row-error{background:#fff1f2}.status-badge{border-radius:999px;padding:.24rem .48rem;font-size:.67rem;font-weight:800;display:inline-flex;align-items:center;gap:.25rem}.status-badge.valid{background:#dcfce7;color:#166534}.status-badge.error{background:#fee2e2;color:#991b1b}.error-duplicate{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:.18rem .38rem;display:inline-block}.review-actions{margin-top:1rem;display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}.review-actions .btn{border-radius:8px;font-weight:700}@media (max-width: 991.98px){.review-stats{grid-template-columns:1fr}}.user-card{border:0;border-radius:14px;overflow:hidden;box-shadow:0 14px 30px #0f172a14}.user-card .card-header{border:0;padding:1rem 1.1rem;color:#fff}.user-card.profile .card-header{background:linear-gradient(135deg,#111827,#1f2937 40%,#ed1b24)}.user-card.status .card-header{background:linear-gradient(135deg,#a16207,#f59e0b)}.user-card.role .card-header{background:linear-gradient(135deg,#0f766e,#06b6d4)}.user-card .card-body{padding:1.15rem;background:#fff}.user-card .card-footer{background:#f8fafc;border-top:1px solid #e2e8f0;padding:.85rem 1.1rem}.user-card label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:700;margin-bottom:.35rem}.user-card .form-control{border-radius:9px;border-color:#dbe3ed;min-height:42px}.user-card .form-control:focus{border-color:#ed1b24;box-shadow:none}.master-divider{border-top:1px solid #e2e8f0;margin:1rem 0}.subject-info{font-size:.85rem;color:#495057}.class-badge{background:#e9ecef;padding:3px 8px;border-radius:5px;font-size:.75rem;font-weight:600;color:#495057}.current-file{font-size:.78rem;margin-top:.35rem}.admin-dashboard{font-family:Plus Jakarta Sans,Source Sans Pro,sans-serif}.dashboard-hero{border:0;border-radius:16px;padding:1.5rem;background:linear-gradient(135deg,#111827,#1f2937 38%,#ed1b24);color:#fff;box-shadow:0 16px 35px #11182738}.dashboard-hero .hero-label{font-size:.8rem;letter-spacing:.08em;opacity:.78;text-transform:uppercase;font-weight:700}.dashboard-hero .hero-title{font-weight:800;letter-spacing:-.03em;margin:.35rem 0 .55rem;line-height:1.2}.dashboard-hero .hero-subtitle{margin-bottom:0;color:#ffffffdb;font-size:.95rem}.dashboard-hero .hero-meta{display:inline-flex;align-items:center;gap:.4rem;background:#ffffff29;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:.48rem .85rem;font-size:.78rem;font-weight:600}.dashboard-hero .hero-actions .btn{border-radius:10px;font-weight:700;padding:.55rem .9rem}.metric-card-link{display:block;text-decoration:none!important}.metric-card{border-radius:14px;color:#fff;overflow:hidden;position:relative;min-height:118px;padding:.72rem .8rem .68rem;box-shadow:0 12px 24px #11182724;transition:transform .2s ease,box-shadow .2s ease}.metric-card:before{content:"";position:absolute;width:130px;height:130px;right:-40px;bottom:-50px;border-radius:50%;background:#ffffff24}.metric-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px #11182733}.metric-card .metric-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.38rem}.metric-card .metric-label{font-size:.8rem;font-weight:600;opacity:.95}.metric-card .metric-icon{font-size:1.02rem;opacity:.95}.metric-card .metric-total{font-size:1.8rem;font-weight:800;line-height:1;letter-spacing:-.03em}.metric-card .metric-foot{margin-top:.58rem;font-size:.73rem;opacity:.95;font-weight:600}.metric-theme-1{background:linear-gradient(130deg,#0f766e,#14b8a6)}.metric-theme-2{background:linear-gradient(130deg,#1d4ed8,#3b82f6)}.metric-theme-3{background:linear-gradient(130deg,#6d28d9,#8b5cf6)}.metric-theme-4{background:linear-gradient(130deg,#c2410c,#f97316)}.metric-theme-5{background:linear-gradient(130deg,#be123c,#f43f5e)}.metric-theme-6{background:linear-gradient(130deg,#1f2937,#334155)}.dashboard-panel{border:0;border-radius:14px;overflow:hidden;box-shadow:0 12px 26px #11182714}.dashboard-panel .card-header{border:0;background:#fff;padding:.95rem 1rem .75rem}.dashboard-panel .panel-title{font-size:.95rem;font-weight:800;color:#111827;margin:0}.dashboard-panel .panel-subtitle{margin-top:.2rem;color:#6b7280;font-size:.79rem;font-weight:600}.dashboard-tabs .nav-link{border:0;border-radius:8px;margin-right:.35rem;color:#6b7280;font-weight:700;font-size:.82rem}.dashboard-tabs .nav-link.active{background:#ed1b241f;color:#ed1b24}.dashboard-table thead th{font-size:.73rem;letter-spacing:.05em;text-transform:uppercase;color:#6b7280;border-bottom:1px solid #e5e7eb}.dashboard-table tbody td{border-top:1px solid #f1f5f9;vertical-align:middle}.dashboard-empty{text-align:center;color:#9ca3af;font-size:.86rem;padding:1.8rem 1rem}.lecturer-dashboard{font-family:Plus Jakarta Sans,Source Sans Pro,sans-serif}.lecturer-shell{background:linear-gradient(145deg,#f8fafc,#eef2ff);border:1px solid #e2e8f0;border-radius:16px;padding:1rem}.lecturer-panel{border:0;border-radius:14px;overflow:hidden;box-shadow:0 12px 24px #0f172a14}.lecturer-panel .card-header{background:#fff;border-bottom:1px solid #edf2f7}.lecturer-title{margin:0;font-size:.95rem;font-weight:800;color:#111827}.lecturer-subtitle{margin-top:.2rem;color:#6b7280;font-size:.78rem;font-weight:600}.lecturer-tools .btn{border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#334155;font-size:.78rem;font-weight:700}.lecturer-tree{border:1px solid #e2e8f0;border-radius:12px;background:#fff}.lecturer-tree .dept-node,.lecturer-tree .course-node,.lecturer-tree .subject-node{border-radius:9px}.lecturer-tree .dept-node{background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff}.lecturer-tree .course-node{background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff}.lecturer-tree .subject-node{background:#f8fafc;border:1px solid #e2e8f0;border-left:4px solid #7c3aed;color:#0f172a}.lecturer-tree .node-count{background:#ffffffeb;color:#1f2937;font-size:.69rem;font-weight:800;border-radius:999px;padding:.17rem .48rem}.lecturer-tree .class-chip{display:inline-block;background:#7c3aed;color:#fff;border-radius:999px;padding:.18rem .5rem;font-size:.68rem;font-weight:700;margin:.1rem}.lecturer-profile-hero{border-radius:12px;background:linear-gradient(135deg,#0f172a,#1e293b 45%,#ef4444);color:#fff;padding:1rem;text-align:center}.lecturer-profile-hero .avatar{width:82px;height:82px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.45);box-shadow:0 8px 18px #0000003d;margin-bottom:.45rem}.lecturer-profile-hero .name{font-size:1.03rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.1rem}.lecturer-profile-hero .meta{font-size:.77rem;opacity:.9}.lecturer-subject-pill{display:inline-block;font-size:.68rem;font-weight:700;border-radius:999px;padding:.17rem .45rem;margin:.12rem;background:#ffffff2e;border:1px solid rgba(255,255,255,.32)}.exam-item{padding:.72rem .85rem;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:.65rem}.exam-item:last-child{border-bottom:0}.exam-class-pill{background:#fef3c7;color:#92400e;border-radius:999px;font-size:.67rem;font-weight:800;padding:.18rem .46rem;white-space:nowrap}.lecturer-results thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;border-bottom:1px solid #e2e8f0}.lecturer-results tbody td{border-top:1px solid #f1f5f9;vertical-align:middle}.student-dashboard{font-family:Plus Jakarta Sans,Source Sans Pro,sans-serif}.student-shell{background:linear-gradient(145deg,#f8fafc,#eef2ff);border:1px solid #e2e8f0;border-radius:16px;padding:1rem}.student-panel{border:0;border-radius:14px;overflow:hidden;box-shadow:0 12px 24px #0f172a14}.student-profile-hero{background:linear-gradient(130deg,#0f172a,#1e293b 45%,#ed1b24);color:#fff;border-radius:14px;padding:1.1rem}.student-profile-hero .avatar{width:68px;height:68px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.5);box-shadow:0 6px 16px #00000047}.student-profile-hero .name{font-size:1.05rem;font-weight:800;margin-bottom:.1rem;letter-spacing:-.02em}.student-profile-hero .meta{font-size:.77rem;opacity:.88}.student-info-list .item{border-bottom:1px solid #edf2f7;padding:.62rem 0}.student-info-list .item:last-child{border-bottom:0}.student-info-list .label{color:#6b7280;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.student-info-list .value{color:#111827;font-size:.9rem;font-weight:700}.student-badge{display:inline-block;border-radius:999px;padding:.22rem .58rem;font-size:.73rem;font-weight:700;margin-right:.28rem;margin-bottom:.25rem}.student-badge.department{background:#cffafe;color:#0e7490}.student-badge.course{background:#dcfce7;color:#166534}.student-badge.class{background:#e0e7ff;color:#4338ca}.student-quick-btn{border:0;border-radius:12px;padding:1rem;width:100%;display:block;text-align:left;font-weight:700;color:#fff!important;background:linear-gradient(135deg,#0f766e,#0ea5e9);box-shadow:0 10px 22px #0e74903d;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease}.student-quick-btn:hover{transform:translateY(-2px);box-shadow:0 15px 28px #0e74904d}.student-quick-btn .label{font-size:1rem}.student-quick-btn .sub{opacity:.86;font-size:.78rem}.student-result{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.student-result .result-head{padding:.7rem .85rem;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.student-result .result-head .title{margin:0;font-size:.9rem;font-weight:800;color:#111827}.student-result .result-score{font-size:1.45rem;font-weight:800;letter-spacing:-.03em}.student-result .row-item{display:flex;justify-content:space-between;gap:.8rem;padding:.62rem .85rem;border-bottom:1px solid #f1f5f9}.student-result .row-item:last-child{border-bottom:0}.student-result .row-item .k{color:#6b7280;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.student-result .row-item .v{font-size:.86rem;color:#0f172a;font-weight:700;text-align:right}.student-result .btn-result-detail{background:#16a34a;border-color:#16a34a;color:#fff!important;font-weight:700}.student-result .btn-result-detail i,.student-result .btn-result-detail span{color:#fff!important}.student-result .btn-result-detail:hover,.student-result .btn-result-detail:focus,.student-result .btn-result-detail:active{background:#15803d!important;border-color:#15803d!important;color:#fff!important}.student-calendar-panel{border:1px solid #dbe3ed;border-radius:12px;background:#fff;overflow:hidden}.student-calendar-panel .calendar-head{padding:.8rem .9rem;border-bottom:1px solid #e5e7eb;background:#f8fafc}.student-calendar-panel .calendar-month{font-size:1rem;font-weight:800;color:#111827}.student-calendar-panel .calendar-nav .btn{border-radius:8px;font-size:.76rem;font-weight:700;padding:.28rem .58rem}.student-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e5e7eb;border-left:1px solid #e5e7eb}.student-calendar-grid .day-name,.student-calendar-grid .day-cell{border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.student-calendar-grid .day-name{text-align:center;font-size:.72rem;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;padding:.48rem .35rem}.student-calendar-grid .day-cell{min-height:112px;padding:.4rem;background:#fff}.student-calendar-grid .day-cell.muted{background:#f8fafc}.student-calendar-grid .day-num{font-size:.75rem;font-weight:700;color:#334155;margin-bottom:.3rem}.student-calendar-grid .day-cell.today .day-num{display:inline-block;padding:.12rem .38rem;border-radius:999px;background:#fee2e2;color:#b91c1c}.calendar-event{display:block;text-decoration:none!important;border-radius:8px;border:1px solid #bfdbfe;background:#eff6ff;padding:.34rem .4rem;margin-bottom:.28rem;color:#1d4ed8!important}.calendar-event:hover{background:#dbeafe;border-color:#93c5fd}.calendar-event .t{display:block;font-size:.67rem;font-weight:800;line-height:1.2;margin-bottom:.1rem}.calendar-event .n{display:block;font-size:.72rem;font-weight:700;line-height:1.22;color:#1e3a8a}.calendar-event .s{display:inline-block;margin-top:.2rem;font-size:.64rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:.1rem .34rem;background:#dbeafe;color:#1d4ed8}.calendar-event.status-pass{border-color:#86efac;background:#dcfce7;color:#166534!important}.calendar-event.status-pass .n{color:#14532d}.calendar-event.status-pass .s{background:#16a34a;color:#fff}.calendar-event.status-fail{border-color:#fca5a5;background:#fee2e2;color:#991b1b!important}.calendar-event.status-fail .n{color:#7f1d1d}.calendar-event.status-fail .s{background:#dc2626;color:#fff}.calendar-event.status-attempted{border-color:#cbd5e1;background:#f1f5f9;color:#334155!important}.calendar-event.status-attempted .n{color:#1f2937}.calendar-event.status-attempted .s{background:#64748b;color:#fff}.calendar-empty{padding:.9rem;font-size:.86rem;color:#64748b}@media (max-width: 991.98px){.student-shell{padding:.75rem}.student-profile-hero{padding:.85rem}.student-info-list .item{flex-direction:column;align-items:flex-start!important;gap:.15rem}.student-info-list .value{text-align:left;width:100%;word-break:break-word}.student-result .row-item{flex-direction:column;align-items:flex-start;gap:.2rem}.student-result .row-item .v{text-align:left;width:100%;word-break:break-word}.student-calendar-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.student-calendar-grid{min-width:760px}.student-calendar-grid .day-cell{min-height:92px}}@media (max-width: 575.98px){.student-profile-hero .avatar{width:56px;height:56px}.student-profile-hero .name{font-size:.95rem}}.login-page{font-family:Plus Jakarta Sans,Source Sans Pro,sans-serif;min-height:100vh;background:radial-gradient(circle at 10% 10%,rgba(237,27,36,.18),transparent 42%),radial-gradient(circle at 90% 90%,rgba(34,197,94,.16),transparent 40%),linear-gradient(135deg,#0f172a,#1e293b 45%,#111827);padding:1.2rem}.login-page.forgot-variant{background:radial-gradient(circle at 10% 10%,rgba(237,27,36,.18),transparent 42%),radial-gradient(circle at 90% 90%,rgba(14,165,233,.16),transparent 40%),linear-gradient(135deg,#0f172a,#1e293b 45%,#111827)}.login-page.reset-variant{background:radial-gradient(circle at 10% 10%,rgba(237,27,36,.18),transparent 42%),radial-gradient(circle at 90% 90%,rgba(168,85,247,.16),transparent 40%),linear-gradient(135deg,#0f172a,#1e293b 45%,#111827)}.auth-shell{width:min(980px,96vw);margin:0 auto;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 26px 55px #02061759}.auth-side{color:#fff;background:linear-gradient(145deg,#111827,#1f2937 45%,#ed1b24);padding:2.2rem 2rem;min-height:100%}.auth-side .logo-wrap{display:block;text-align:center;margin-bottom:.5rem}.auth-side .logo-wrap img{max-height:90px;background:#fff;border-radius:14px;padding:.5rem .8rem}.auth-side h1{margin-top:1.5rem;font-size:1.55rem;line-height:1.2;font-weight:800;letter-spacing:-.03em;text-align:center}.auth-side p{color:#ffffffd9;margin-top:.75rem;font-size:.92rem;text-align:center}.auth-note{margin-top:1.25rem;padding:.8rem .9rem;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;border-radius:10px;font-size:.8rem;color:#ffffffeb}.auth-form{padding:2rem}.auth-form h2{margin:0;font-size:1.4rem;font-weight:800;letter-spacing:-.02em;color:#0f172a}.auth-form .subtitle{margin-top:.35rem;margin-bottom:1.2rem;color:#64748b;font-size:.9rem;font-weight:600}.auth-input{border-radius:12px;border:1px solid #dbe3ed;height:46px;font-size:.92rem;padding-left:2.7rem;box-shadow:none!important}.auth-input:focus{border-color:#ed1b24}.auth-field{position:relative;margin-bottom:.9rem}.auth-field i{position:absolute;top:50%;left:.95rem;transform:translateY(-50%);color:#94a3b8;font-size:.9rem}.auth-btn{border-radius:10px;height:44px;font-weight:700;letter-spacing:.01em;box-shadow:0 10px 24px #ed1b2440}.auth-footer-links{margin-top:1rem;font-size:.86rem}#error-msg{white-space:pre-line;font-size:.84rem;margin-top:.8rem;font-weight:600}.auth-info{border-radius:10px;padding:.72rem .85rem;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;font-size:.82rem;font-weight:600;margin-bottom:1rem}.token-verified{border-radius:10px;padding:.72rem .85rem;background:#ecfdf5;border:1px solid #86efac;color:#166534;font-size:.82rem;font-weight:700;margin-bottom:1rem}.form-error{white-space:pre-line;font-size:.84rem;margin-top:.8rem;font-weight:600}@media (max-width: 767.98px){.auth-side,.auth-form{padding:1.35rem}.auth-side h1{font-size:1.25rem}}.exam-shell{position:relative;z-index:1001;transition:filter .3s ease}.exam-hero{border:0;border-radius:12px;overflow:hidden;box-shadow:0 10px 24px #0f172a14;background:#fff}.exam-shell .hero-title{font-size:1.55rem;font-weight:800;color:#1d4ed8}.exam-shell .hero-sub{color:#475569;font-size:.92rem}.question-card{border:0;border-radius:12px;overflow:hidden;box-shadow:0 10px 24px #0f172a14}.question-card .card-header{background:#fff;border-bottom:1px solid #e2e8f0;border-top:3px solid #ED1B24;padding:.78rem .9rem}.question-card .card-title{margin:0;font-size:.96rem;font-weight:800;color:#111827}.question-card .card-body{padding:.95rem;background:#fff}.question-text{font-size:1.03rem;color:#1f2937;line-height:1.5}.options-list{display:flex;flex-direction:column;gap:.55rem}.option-item{position:relative;padding:0;border:1.5px solid #e2e8f0;border-radius:10px;background:#fbfdff;transition:all .2s ease;overflow:hidden}.option-item:hover{background:#f1f5f9;border-color:#94a3b8;box-shadow:0 2px 8px #0f172a0f}.option-item .custom-control-input{position:absolute;opacity:0;pointer-events:none}.option-item .custom-control-label{display:flex;align-items:center;padding:.7rem .85rem;margin:0;cursor:pointer;font-size:.95rem;color:#334155;line-height:1.5;width:100%}.option-item .custom-control-label:before,.option-item .custom-control-label:after{display:none}.option-item .radio-dot{flex-shrink:0;width:20px;height:20px;border:2px solid #cbd5e1;border-radius:50%;margin-right:.65rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background:#fff}.option-item .custom-control-input:checked~.custom-control-label .radio-dot{border-color:#2563eb;background:#2563eb;box-shadow:inset 0 0 0 3px #fff}.option-item .custom-control-input:checked~.custom-control-label{background:#eff6ff;color:#1e40af;font-weight:600}.option-item:has(.custom-control-input:checked),.option-item.option-selected{border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 2px #3b82f62e}.option-chip{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;background:#64748b;color:#fff;border-radius:8px;margin-right:.65rem;font-size:.75rem;font-weight:700;line-height:1;transition:all .2s ease}.option-item .custom-control-input:checked~.custom-control-label .option-chip{background:#2563eb}.option-item .option-text-content{flex:1;min-width:0}.nav-card{border:0;border-radius:12px;overflow:hidden;box-shadow:0 10px 24px #0f172a14;top:16px;z-index:1020}.nav-card .card-header{background:#ed1b24;color:#fff;border:0;padding:.78rem .9rem}.nav-card .card-title{margin:0;font-size:.93rem;font-weight:800}.timer-label{margin-bottom:.25rem;color:#64748b;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.timer-value{font-size:2rem;font-weight:800;color:#dc2626;line-height:1.1}.cursor-pointer{cursor:pointer}.question-box{scroll-margin-top:30px}.noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.forgery-protection-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;pointer-events:none;display:flex;flex-wrap:wrap;overflow:hidden;opacity:.08}.watermark-text{font-size:2rem;font-weight:700;transform:rotate(-30deg);margin:50px;white-space:nowrap;color:#000}@media (max-width: 768px){.nav-card{position:relative!important;top:0!important}#fullscreen-lock-overlay .text-center{margin:1rem;padding:1rem!important}#fullscreen-lock-overlay h2{font-size:1.25rem;margin-bottom:.6rem!important}#fullscreen-lock-overlay .lead{font-size:.9rem;margin-bottom:.9rem!important;line-height:1.45}#fullscreen-lock-overlay .btn{width:100%}.exam-shell .hero-title{font-size:1.2rem;line-height:1.3}.exam-shell .hero-sub{font-size:.82rem;line-height:1.4}.question-card .card-header{flex-direction:column;align-items:flex-start!important;gap:.45rem}.question-text{font-size:.95rem;line-height:1.45}.option-item .custom-control-label{padding:.52rem .56rem;font-size:.88rem}.option-chip{width:24px;height:24px;font-size:.66rem;margin-right:.5rem}.timer-value{font-size:1.45rem}.question-nav .btn{width:32px!important;height:32px!important;line-height:22px!important;font-size:.74rem;margin:.15rem!important}}@media (max-width: 575.98px){.exam-hero .card-body{padding:.75rem}.question-card .card-body{padding:.72rem}.nav-card .card-body{padding:.7rem!important}.nav-card .btn{font-size:.78rem}}.token-wrap{width:100%}.token-card{border:0;border-radius:14px;overflow:hidden;box-shadow:0 14px 30px #0f172a14}.token-card .card-header{border:0;padding:1rem 1.1rem;background:linear-gradient(135deg,#111827,#1f2937 40%,#ed1b24);color:#fff}.token-title{margin:0;font-size:1rem;font-weight:800}.token-subtitle{margin:.2rem 0 0;font-size:.8rem;opacity:.9}.token-card .card-body{padding:1.1rem;background:#fff}.token-card .card-footer{background:#f8fafc;border-top:1px solid #e2e8f0;padding:.85rem 1.1rem}.token-note{background:#ecfeff;border:1px solid #bae6fd;color:#0f766e;border-radius:10px;padding:.68rem .8rem;margin-bottom:.9rem;font-size:.84rem}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-bottom:.95rem}.summary-item{border:1px solid #e2e8f0;border-radius:10px;padding:.65rem .7rem;background:#fbfdff}.summary-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:700;margin-bottom:.28rem}.summary-value{font-size:.95rem;color:#111827;font-weight:700;line-height:1.25}.token-field{border:1px solid #e2e8f0;border-radius:10px;padding:.75rem;background:#fbfdff}.token-field label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:700;margin-bottom:.35rem}.token-input{min-height:56px;border-radius:9px;border-color:#dbe3ed;text-align:center;text-transform:uppercase;letter-spacing:.42em;font-weight:800;font-size:1.25rem}.token-input:focus{border-color:#ed1b24;box-shadow:none}.token-help{margin-top:.45rem;color:#64748b;font-size:.78rem}.token-actions{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.token-actions .btn{border-radius:8px;font-weight:700}@media (max-width: 767.98px){.summary-grid{grid-template-columns:1fr}.token-actions{flex-direction:column-reverse;align-items:stretch}}.exam-detail-wrap{width:100%}.exam-detail-card{border:0;border-radius:14px;overflow:hidden;box-shadow:0 14px 30px #0f172a14}.exam-detail-card .card-header{border:0;padding:1rem 1.1rem;background:linear-gradient(135deg,#111827,#1f2937 40%,#ed1b24);color:#fff}.exam-title{margin:0;font-size:1rem;font-weight:800}.exam-subtitle{margin:.2rem 0 0;font-size:.8rem;opacity:.88}.exam-detail-card .card-body{padding:1.15rem;background:#fff}.exam-detail-card .card-footer{background:#f8fafc;border-top:1px solid #e2e8f0;padding:.85rem 1.1rem}.detail-section{border:1px solid #e8edf5;border-radius:12px;padding:1rem;margin-bottom:.9rem;background:linear-gradient(180deg,#fcfdff,#f8fbff)}.detail-section:last-child{margin-bottom:0}.section-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#334155;font-weight:800;margin-bottom:.75rem}.overview-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.8rem}.overview-card{border:1px solid #e4ebf5;border-radius:12px;background:#fff;padding:.9rem;box-shadow:0 8px 18px #0f172a0d}.overview-card .label{display:inline-flex;align-items:center;gap:.35rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:800}.overview-card .label i{color:#0ea5e9}.overview-card .value{margin:.45rem 0 .35rem;font-size:1.15rem;font-weight:800;color:#0f172a;line-height:1.2}.overview-card.feature{border-top:4px solid #ed1b24;background:linear-gradient(135deg,#fff,#fff7f7)}.overview-card.kpi{text-align:center;border-top:4px solid #0ea5e9}.overview-card.kpi .value{font-size:1.55rem;margin:.55rem 0 .2rem}.overview-card.kpi .value span{font-size:.85rem;color:#64748b;font-weight:700}.overview-card small{color:#64748b;font-size:.72rem}.meta-row{display:flex;align-items:center;justify-content:space-between;gap:.55rem;flex-wrap:wrap;color:#475569;font-size:.78rem}.overview-context{display:flex;flex-wrap:wrap;gap:.45rem}.context-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .52rem;border-radius:999px;border:1px solid #dbe5f2;background:#f8fbff;color:#334155;font-size:.7rem;font-weight:700}.context-pill i{color:#0ea5e9}.detail-table{margin:0;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}.detail-table td,.detail-table th{padding:.62rem .7rem;vertical-align:middle}.detail-table th{width:36%;color:#334155;font-size:.82rem;font-weight:700;background:#f8fafc}.summary-card{border:1px solid #e4ebf5;border-radius:12px;padding:.85rem .9rem;background:#fff;height:100%;display:flex;align-items:center;gap:.65rem;box-shadow:0 8px 16px #0f172a0d}.summary-card .icon{width:42px;height:42px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;flex:0 0 42px}.summary-card h6{margin:0;font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.summary-card .value{margin:.2rem 0 0;font-size:1.2rem;line-height:1.15;font-weight:800;color:#0f172a}.summary-card .value .unit{font-size:.75rem;color:#64748b;margin-left:.1rem}.summary-card.high{border-top:3px solid #16a34a}.summary-card.low{border-top:3px solid #ed1b24}.summary-card.avg{border-top:3px solid #0ea5e9}.summary-card.high .icon{background:#16a34a}.summary-card.low .icon{background:#ed1b24}.summary-card.avg .icon{background:#0891b2}.spread-note{margin-top:.6rem;font-size:.78rem;color:#475569;background:#fff;border:1px dashed #d7e0ee;border-radius:8px;padding:.45rem .6rem}.spread-note i{color:#ed1b24}.table-wrap{border:1px solid #dfe7f3;border-radius:10px;padding:.7rem;background:#fff;box-shadow:inset 0 1px #ffffffb3}#table thead th{background:#f6f9fe;color:#334155;font-weight:700;border-bottom:1px solid #dce5f2!important;text-transform:uppercase;font-size:.67rem;letter-spacing:.04em}#table tbody td{border-color:#edf2f8;vertical-align:middle}#table tbody tr:hover{background:#f8fbff}.actions-row{display:flex;justify-content:space-between;align-items:center;gap:.7rem}@media (max-width: 991.98px){.overview-grid{grid-template-columns:1fr}}.actions-row .btn{border-radius:8px;font-weight:700}.attempt-page{width:100%}.attempt-header{display:flex;justify-content:flex-end;margin-bottom:.9rem;padding:.2rem .3rem 0}.attempt-header .btn{border-radius:8px;font-weight:700;padding:.5rem .85rem;margin-right:.1rem;white-space:nowrap}@media (max-width: 767.98px){.attempt-header{justify-content:flex-start;padding:.1rem 0 0}.attempt-header .btn{width:100%;text-align:center;margin-right:0}}.panel-card{border:0;border-radius:12px;overflow:hidden;box-shadow:0 10px 24px #0f172a14;margin-bottom:.9rem}.panel-card .card-header{background:linear-gradient(135deg,#111827,#1f2937 40%,#ed1b24);color:#fff;border:0;padding:.75rem .9rem}.panel-card .card-title{margin:0;font-size:.92rem;font-weight:800}.attempt-page .detail-table{margin:0;background:#fff;border:0;border-radius:0}.attempt-page .detail-table th,.attempt-page .detail-table td{padding:.62rem .75rem;border-top:1px solid #edf2f7;vertical-align:middle}.attempt-page .detail-table th{width:37%;font-size:.8rem;color:#475569;font-weight:700;background:#f8fafc}.stat-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:.9rem}.stat-card{border-radius:12px;padding:.85rem .9rem;color:#fff;box-shadow:0 10px 20px #0f172a1a}.stat-card.score{background:linear-gradient(135deg,#16a34a,#15803d)}.stat-card.result-pass{background:linear-gradient(135deg,#16a34a,#166534)}.stat-card.result-fail{background:linear-gradient(135deg,#dc2626,#991b1b)}.stat-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;opacity:.92;font-weight:700}.stat-value{margin-top:.2rem;font-size:1.7rem;line-height:1.1;font-weight:800}.stat-sub{margin-top:.35rem;font-size:.78rem;opacity:.95}.violation-card{border:1px solid #fecaca;border-radius:12px;background:#fff5f5}.violation-head{border-bottom:1px solid #fecaca;padding:.65rem .8rem;font-weight:800;color:#991b1b;font-size:.85rem}.violation-list{max-height:250px;overflow-y:auto;margin:0;padding:0;list-style:none}.violation-list li{border-bottom:1px solid #ffe4e6;padding:.6rem .75rem}.violation-list li:last-child{border-bottom:0}.safe-card{border:1px solid #bbf7d0;border-radius:12px;background:#f0fdf4;padding:.85rem;text-align:center;color:#166534;font-weight:700}.attempt-card{border:0;border-radius:12px;overflow:hidden;box-shadow:0 10px 24px #0f172a14}.attempt-card .card-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:.82rem .95rem}.attempt-card .card-title{margin:0;font-size:.96rem;font-weight:800;color:#111827}.attempt-legend .badge{border-radius:999px;font-weight:700;padding:.35rem .55rem}.question-item{border:1px solid #e2e8f0;border-left-width:4px;border-radius:11px;padding:.85rem .9rem;margin-bottom:.8rem;background:#fff}.question-item.correct{border-left-color:#16a34a;background:#16a34a08}.question-item.incorrect{border-left-color:#dc2626;background:#dc262608}.q-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.55rem}.q-index{font-size:.8rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.q-body{color:#1f2937;margin-bottom:.7rem}.answer-box{border:1px solid #dbe3ed;border-radius:9px;padding:.58rem .62rem;font-size:.9rem;min-height:58px}.answer-box .label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:.28rem;font-weight:700}.answer-box.student.correct{background:#16a34a;color:#fff;border-color:#16a34a}.answer-box.student.incorrect{background:#dc2626;color:#fff;border-color:#dc2626}.answer-box.student .label{color:#ffffffeb}.answer-box.correct-answer{background:#fff;color:#0f172a}.locked-box{border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:2.3rem 1rem;text-align:center}.import-container{width:100%}.import-card{border:0;border-radius:14px;overflow:hidden;box-shadow:0 14px 30px #0f172a14}.import-card .card-header{border:0;padding:1rem 1.1rem;background:linear-gradient(135deg,#111827,#1f2937 40%,#ed1b24);color:#fff}.import-title{margin:0;font-size:1rem;font-weight:800}.import-subtitle{margin:.2rem 0 0;font-size:.8rem;opacity:.88}.import-card .card-body{padding:1.15rem;background:#fff}.import-section{border:1px solid #e2e8f0;border-radius:12px;padding:.9rem;margin-bottom:.9rem;background:#fbfdff}.import-section:last-child{margin-bottom:0}.instruction-box{border-radius:10px;padding:.85rem .9rem;border-left:4px solid var(--alsiraj-red, #ED1B24);background:#fff}.upload-zone{border:2px dashed #d1d9e6;border-radius:12px;padding:2.2rem 1rem;text-align:center;background:#fff;transition:all .3s ease;cursor:pointer;position:relative}.upload-zone:hover,.upload-zone.dragover{border-color:var(--alsiraj-red, #ED1B24);background:#ed1b2405}.upload-icon{font-size:2.6rem;color:#adb5bd;margin-bottom:.7rem;transition:color .3s ease}.upload-zone:hover .upload-icon{color:var(--alsiraj-red, #ED1B24)}.file-input-hidden{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.template-link{color:var(--alsiraj-red, #ED1B24);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:5px}.template-link:hover{text-decoration:underline}.btn-modern{padding:.58rem 1.1rem;border-radius:8px;font-weight:700;transition:transform .2s}.btn-modern:active{transform:scale(.98)}.import-actions{margin-top:1rem;display:flex;justify-content:space-between;align-items:center;gap:.7rem;flex-wrap:wrap}@media (max-width: 767.98px){.import-actions{align-items:stretch}.import-actions .btn-modern{width:100%}}
