body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Poppins,sans-serif;font-style:normal;font-weight:400;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media print{body{margin:0;padding:0}.table{font-size:xx-small;margin:0;width:100%}.table th{border:1px solid #000}.table thead th{background-color:#000;color:#fff;font-weight:700}.table tbody tr:nth-child(odd){background-color:#eee}table{width:100%}.no_print{display:none!important}.page_break{page-break-before:always}.page_break td{padding:0}}.header{background-color:#64b5f6;padding:1rem 2rem}.header h2{margin:0;text-transform:uppercase}table tr:nth-child(odd){background-color:#eee}tr{font-size:.9rem}button:hover,tr{cursor:pointer}.loader{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffe6;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.loader:before{animation:spin 1s linear infinite;border:4px solid #e3f2fd;border-radius:50%;border-top-color:#64b5f6;box-shadow:0 4px 20px #64b5f64d;content:"";height:60px;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media print{.App,.admin_layout,.admin_layout_content,body,table{width:100%}td,th{white-space:nowrap}}.admin_login{align-items:center;display:flex;flex-direction:column;height:90vh;padding-top:2rem}.admin_login_logos{align-items:center;display:flex;justify-content:center}.admin_login_logo{height:3.5rem;margin:.3rem;overflow:hidden;width:3rem}.admin_login_logo img{height:100%;width:100%}.admin_login_title{margin-bottom:1rem;text-align:center}.admin_login_title h1{margin-bottom:0}.admin_login_title h2{margin-top:10px}.admin_login_form{align-items:center;display:flex;flex-direction:column}.admin_login_form input{border:none;border-bottom:1px solid #020263;font-size:large;margin:.5rem;padding:1rem 1rem .2rem .5rem;width:22rem}.admin_login_form input:focus{background-color:#e6f0f7;outline:none}.admin_login_form button{background-color:#020263;border:none;border-radius:5px;color:#fff;font-size:larger;font-weight:700;margin-top:1rem;padding:1rem;width:50%}.admin_login_forgot{color:#020263;font-size:.9rem;margin-top:.8rem;text-decoration:none}.admin_login_forgot:hover{text-decoration:underline}.admin_login_hint{color:#475569;font-size:.9rem;margin-bottom:.5rem;max-width:22rem;text-align:center}.admin_login_back{background:none;border:none;color:#64748b;cursor:pointer;font-size:.9rem;margin-top:.5rem;text-decoration:underline}.admin_login_back:hover{color:#1e293b}.otp_boxes{display:flex;gap:.6rem;margin:1rem 0 .5rem}.otp_box{background:#fff;border:2px solid #020263!important;border-radius:8px;caret-color:#0000;color:#020263;font-size:1.5rem;font-weight:700;height:3.5rem;margin:0!important;outline:none;padding:0!important;text-align:center;transition:border-color .15s,background .15s;width:3rem!important}.otp_box:focus{background:#e6f0f7!important;border-color:#1d4ed8!important}.otp_box:disabled{opacity:.5}.admin_offline_badge{align-items:center;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;color:#92400e;display:inline-flex;font-size:.8rem;font-weight:600;gap:.4rem;margin-bottom:.75rem;padding:.3rem .85rem}.admin_dashboard{background:#f8fafc;min-height:100vh;padding:2rem 2rem 3rem}.admin_dashboard_header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.25rem}.admin_dashboard_overline{color:#94a3b8;font-size:.65rem;font-weight:600;letter-spacing:.18em;margin:0 0 .25rem;text-transform:uppercase}.admin_dashboard_header h2{color:#0f172a;font-size:1.35rem;font-weight:700;margin:0}.admin_dashboard_subtitle{color:#94a3b8;font-size:.82rem;margin:.3rem 0 0}.admin_dashboard_actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.dash_btn{background:#1e293b;border:1px solid #1e293b;border-radius:6px;color:#fff;cursor:pointer;font-size:.78rem;font-weight:600;letter-spacing:.01em;padding:.45rem .9rem;transition:background .15s,color .15s;white-space:nowrap}.dash_btn:hover:not(:disabled){background:#0f172a;border-color:#0f172a}.dash_btn.ghost{background:#fff;border:1px solid #e2e8f0;color:#1e293b}.dash_btn.ghost:hover:not(:disabled){background:#f1f5f9}.dash_btn:disabled{cursor:not-allowed;opacity:.5}.admin_dashboard_stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:2rem}.stat_card{border-radius:8px;padding:.85rem 1.1rem}.stat_card p{color:#94a3b8;font-size:.62rem;font-weight:600;letter-spacing:.14em;margin:0}.stat_card h3{color:#0f172a;font-size:1.2rem;font-weight:700;margin:.3rem 0 0}.admin_dashboard_boxes{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.admin_dashboard_box{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:7px;cursor:pointer;display:flex;gap:.65rem;padding:.7rem .9rem;transition:background .15s}.admin_dashboard_box:hover{background:#f8fafc}.admin_dashboard_box h3{align-items:center;color:#1e293b;display:flex;font-size:.82rem;font-weight:600;gap:.35rem;margin:0}.admin_dashboard_box h3 svg{color:#94a3b8;flex-shrink:0;font-size:.8rem}.admin_dashboard_box:before{border-radius:50%;content:"";flex-shrink:0;height:7px;width:7px}.green:before{background:#10b981}.gray:before{background:#94a3b8}.blue:before{background:#0ea5e9}.brown:before{background:#a16207}.red:before{background:#f97316}.error:before{background:#dc2626}.professionals:before{background:#16a34a}.finalists:before{background:#f59e0b}.purple:before{background:#7c3aed}.indigo:before{background:#4338ca}.dash_modal_overlay{align-items:center;background:#0f172a66;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.dash_modal{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 32px #0f172a2e;padding:1.5rem;width:min(420px,92vw)}.dash_modal h3{color:#0f172a;font-size:1rem;margin:0 0 .3rem}.dash_modal p{color:#64748b;font-size:.85rem;margin:0 0 1rem}.dash_modal_fields{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}.dash_modal_fields label{color:#64748b;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.dash_modal_fields select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;font-size:.875rem;height:2.2rem;padding:0 .75rem}.dash_modal_fields select:focus{border-color:#1e293b;outline:none}.dash_modal_actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.25rem}.dash_modal_status{border-radius:6px;font-size:.82rem;margin-bottom:.85rem;padding:.5rem .75rem}.dash_modal_status.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.dash_modal_status.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}@media (max-width:980px){.admin_dashboard_header{align-items:flex-start;flex-direction:column}.admin_dashboard_actions{width:100%}.admin_dashboard_boxes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.admin_dashboard{padding:1.25rem 1rem 2rem}.admin_dashboard_boxes,.admin_dashboard_stats{grid-template-columns:1fr}}.sa_stats_grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:2rem}.sa_section_label{color:#94a3b8;font-size:.62rem;font-weight:700;letter-spacing:.16em;margin:1.75rem 0 .6rem;text-transform:uppercase}.ts_modal{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 32px #0f172a2e;overflow:hidden;width:min(660px,94vw)}.ts_modal_head{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:1.25rem 1.5rem 1rem}.ts_modal_head h3{color:#0f172a;font-size:1rem;font-weight:700;margin:0 0 .2rem}.ts_modal_head p{color:#94a3b8;font-size:.82rem;margin:0}.ts_close_btn{background:none;border:none;border-radius:5px;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:1rem;line-height:1;padding:.2rem .4rem;transition:background .15s,color .15s}.ts_close_btn:hover{background:#f1f5f9;color:#0f172a}.ts_panels{display:grid;grid-template-columns:1fr auto 1fr;padding:1.25rem 1.5rem}.ts_divider{background:#f1f5f9;margin:0 1.25rem;width:1px}.ts_panel_label{border-bottom:1px solid #e2e8f0;font-size:.62rem;font-weight:700;letter-spacing:.15em;margin:0 0 .9rem;padding-bottom:.5rem}.ts_field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.ts_field label{color:#94a3b8;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.ts_field input[type=text]{background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-sizing:border-box;color:#0f172a;font-size:.875rem;height:2.2rem;padding:0 .75rem;transition:border-color .15s;width:100%}.ts_field input[type=text]:focus{border-color:#1e293b;outline:none}.ts_sig_zone{align-items:center;background:#f8fafc;border:1px dashed #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:.6rem;justify-content:center;min-height:80px;padding:.85rem;transition:border-color .15s}.ts_sig_zone:hover{border-color:#94a3b8}.ts_sig_img{max-height:48px;max-width:100%;object-fit:contain}.ts_sig_placeholder{color:#cbd5e1;font-size:.75rem}.ts_upload_btn{background:#1e293b;border-radius:5px;color:#fff;cursor:pointer;display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:.35rem .85rem;transition:background .15s,opacity .15s}.ts_upload_btn:hover{background:#0f172a}.ts_upload_btn.uploading{cursor:not-allowed;opacity:.5}.ts_modal_footer{border-top:1px solid #f1f5f9;display:flex;gap:.5rem;justify-content:flex-end;padding:.9rem 1.5rem 1.25rem}@media (max-width:980px){.sa_stats_grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:600px){.sa_stats_grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ts_panels{grid-template-columns:1fr}.ts_divider{height:1px;margin:.5rem 0 1rem;width:100%}}.sync_progress_card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-bottom:.5rem;padding:.85rem 1.1rem}.sync_progress_header{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;justify-content:space-between;margin-bottom:.55rem}.sync_progress_label{color:#166534;font-size:.82rem;font-weight:600}.sync_last_time{color:#4ade80;font-size:.75rem}.sync_progress_bar_track{background:#dcfce7;border-radius:999px;height:8px;overflow:hidden;width:100%}.sync_progress_bar_fill{background:#16a34a;border-radius:999px;height:100%;transition:width .3s ease}.sync_error{color:#dc2626;font-size:.8rem;font-weight:600;margin:.5rem 0 0}.sync_last_synced{color:#16a34a;font-size:.78rem;font-weight:600;padding:.2rem .1rem}.recalc_progress_card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;margin-bottom:.5rem;padding:.85rem 1.1rem}.recalc_progress_label{color:#1d4ed8;font-size:.82rem;font-weight:600}.recalc_progress_pct{color:#1d4ed8;font-size:.82rem;font-weight:700}.recalc_progress_bar_fill{background:#2563eb;border-radius:999px;height:100%;transition:width .3s ease}.cr_btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;cursor:pointer;font-size:.78rem;font-weight:600;padding:.45rem .9rem;transition:background .15s;white-space:nowrap}.cr_btn:hover:not(:disabled){background:#f1f5f9}.cr_btn:disabled{cursor:not-allowed;opacity:.4}.cr_btn--primary{background:#1e293b;border-color:#1e293b;color:#fff}.cr_btn--primary:hover:not(:disabled){background:#0f172a}.cr_form{align-items:flex-end;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.1rem}.cr_form_field{display:flex;flex-direction:column;gap:.3rem}.cr_form_field label{color:#94a3b8;font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.cr_form_field input{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;font-size:.875rem;height:2.1rem;min-width:180px;padding:0 .75rem}.cr_form_field input:focus{border-color:#1e293b;outline:none}.cr_checkbox_label{align-items:center;color:#64748b;cursor:pointer;display:flex;font-size:.78rem;gap:.4rem;padding-bottom:.1rem}.level_page{display:flex;flex-direction:column;gap:1rem;min-width:0;width:100%}.level_page>*{min-width:0}.level_page_header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.25rem}.level_kicker{color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.12em;margin:0 0 .2rem;text-transform:uppercase}.level_page_header h2{color:#0f172a;font-size:1.2rem;margin:0 0 .2rem}.level_session_label{color:#94a3b8;font-size:.82rem;margin:0}.level_header_stats{align-items:center;display:flex;gap:1.75rem}.level_stat{align-items:center;display:flex;flex-direction:column;gap:.1rem}.level_stat_value{color:#0f172a;font-size:1.5rem;font-weight:700;line-height:1}.level_stat_label{color:#94a3b8;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.level_panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.level_panel_ext{border-color:#bfdbfe}.level_panel_header{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;gap:1rem;justify-content:space-between;padding:.9rem 1.25rem}.level_panel_header h3{color:#0f172a;font-size:.95rem;margin:0 0 .15rem}.level_panel_sub{color:#94a3b8;font-size:.8rem;margin:0}.level_panel_body{display:flex;flex-direction:column;padding:.75rem 1.25rem}.level_inline_row{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.level_select--grow{flex:1 1;max-width:none;min-width:180px}.level_unit_badge{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;flex-shrink:0;font-size:.75rem;font-weight:600;padding:.3rem .6rem;white-space:nowrap}.level_row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:1rem;padding:.75rem 1.25rem}.level_row:last-child{border-bottom:none}.level_row--actions{padding-bottom:.85rem;padding-top:.85rem}.level_row_label{color:#64748b;flex-shrink:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;width:100px}.level_close_btn{background:none;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:1rem;line-height:1;padding:.1rem .35rem}.level_close_btn:hover{background:#f1f5f9;color:#0f172a}.level_collapse_btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;flex-shrink:0;font-size:.75rem;font-weight:600;padding:.35rem .75rem;transition:background .15s;white-space:nowrap}.level_collapse_btn:hover{background:#e2e8f0}.level_input,.level_select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box;color:#0f172a;font-size:.85rem;height:2.3rem;max-width:480px;padding:0 .75rem;width:100%}.level_select{text-transform:uppercase}.level_input--sm{max-width:100px}.level_input:focus,.level_select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26;outline:none}.level_hidden_file_input{height:.1px;opacity:0;pointer-events:none;position:absolute;width:.1px}.level_file_row{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.level_file_btn{align-items:center;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.8rem;font-weight:600;height:2.3rem;padding:0 1rem;white-space:nowrap}.level_file_btn:hover{background:#e2e8f0}.level_file_name{align-items:center;color:#475569;display:flex;font-size:.82rem;gap:.4rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level_file_dot{background:#22c55e;border-radius:50%;display:inline-block;flex-shrink:0;height:7px;width:7px}.level_file_count{color:#94a3b8;font-size:.78rem}.level_panel_actions{display:flex;flex-wrap:wrap;gap:.65rem}.level_toggle_row{border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:0;overflow:hidden;width:fit-content}.level_toggle_btn{background:#f8fafc;border:none;color:#64748b;cursor:pointer;font-size:.78rem;font-weight:600;padding:.45rem .9rem;transition:background .15s,color .15s}.level_toggle_btn.active{background:#0f172a;color:#fff}.level_toggle_btn:first-child{border-right:1px solid #e2e8f0}.level_btn{border:none;border-radius:8px;cursor:pointer;font-size:.82rem;font-weight:600;padding:.52rem 1.1rem;transition:opacity .15s}.level_btn:disabled{cursor:not-allowed;opacity:.45}.level_btn_primary{background:#1d4ed8;color:#fff}.level_btn_primary:hover:not(:disabled){background:#1e40af}.level_btn_ghost{background:#0000;border:1px solid #bfdbfe;color:#1d4ed8}.level_btn_ghost:hover:not(:disabled){background:#eff6ff}.level_btn_danger{background:#dc2626;color:#fff}.level_btn_danger:hover:not(:disabled){background:#b91c1c}.level_table_card{background:#0000;border:none;min-width:0;overflow:hidden;padding:0}.level_table_head{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.65rem;padding:0 .15rem}.level_table_head h3{color:#0f172a;font-size:.95rem;margin:0}.level_table_head span{color:#64748b;font-size:.8rem}.level_table_wrap{display:flex;flex-direction:column;gap:.85rem;min-width:0}.level_table_scroll{-webkit-overflow-scrolling:touch;min-width:0;overflow-x:auto;width:100%}.level_main_table{border-collapse:collapse;font-size:.82rem;min-width:0;min-width:auto;text-transform:uppercase;width:auto}.level_main_table th{background:#0f172a;color:#fff;font-size:.74rem;letter-spacing:.04em;padding:.42rem .6rem;text-align:left;white-space:nowrap}.level_main_table td{border-bottom:1px solid #e2e8f0;padding:.42rem .6rem}.level_main_table tbody tr:nth-child(2n){background:#f8fafc}.level_name_cell{white-space:nowrap}.level_clickable_cell{color:#1d4ed8;cursor:pointer;font-weight:600;white-space:nowrap}.level_clickable_cell:hover{text-decoration:underline}.level_ext_header{background:#1e40af;border-left:2px solid #3b82f6}.level_subheader_row th{background:#1e3a8a;border-left:1px solid #2563eb;color:#bfdbfe;font-size:.7rem}.level_subheader_row th:first-child{border-left:none}.level_dot_legend{display:flex;gap:1.25rem;margin-bottom:.65rem;padding:0 .1rem}.level_legend_item{align-items:center;color:#475569;display:flex;font-size:.78rem;gap:.4rem;text-transform:none}.level_dot{border-radius:50%;display:inline-block;flex-shrink:0;height:11px;width:11px}.level_dot--on{background:#22c55e}.level_dot--off{background:#0000;border:2px solid #cbd5e1}.level_empty_state{color:#64748b;padding:2rem 1rem;text-align:center}.level_state_card{background:#fff;border:1px solid #fecaca;border-radius:12px;color:#991b1b;padding:1.25rem;text-align:center}.level_state_card h3{margin:0 0 .4rem}.level_state_card p{margin:0 0 .9rem}.level_upload_summary_card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:.8rem .95rem}.level_upload_summary_success{color:#166534;font-size:.9rem;font-weight:700;margin:0}.level_upload_summary_warning{color:#c2410c;font-size:.84rem;font-weight:600;margin:.35rem 0 0;overflow-wrap:anywhere}.level_skip_card{background:#fff7ed;border:1px solid #fdba74;border-radius:12px;padding:.9rem 1rem}.level_skip_head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:.65rem}.level_skip_head h3{color:#9a3412;font-size:.95rem;margin:0}.level_skip_head p{color:#c2410c;font-size:.8rem;margin:0}.level_skip_grid{grid-gap:.45rem;display:grid;gap:.45rem;grid-template-columns:repeat(2,minmax(0,1fr))}.level_skip_item{align-items:center;background:#fff;border:1px solid #fed7aa;border-radius:8px;display:flex;gap:.55rem;justify-content:space-between;padding:.42rem .6rem}.level_skip_reg{color:#7c2d12;font-weight:700;white-space:nowrap}.level_skip_reason{color:#9a3412;font-size:.78rem;text-align:right}.level_skip_more{color:#c2410c;font-size:.78rem;margin:.6rem 0 0}@media (max-width:640px){.level_header_stats{gap:1rem}.level_skip_grid{grid-template-columns:1fr}.level_row{flex-wrap:wrap}.level_row_label{width:100%}.level_input,.level_select{max-width:100%}}@media print{.level_page_header,.level_panel{display:none}.level_table_card{margin:0;padding:0}.level_table_scroll{overflow:visible}}.results_table_root{display:flex;flex-direction:column;gap:1rem;min-width:0}.results_table_block{background:#fff;border:1px solid #e2e8f0;border-radius:0;box-shadow:0 8px 18px #0f172a0f;min-width:0;padding:0}.results_table_block_plain{background:#0000;border:none;box-shadow:none}.results_section_title{color:#64748b;font-size:.82rem;letter-spacing:.1em;margin:0 0 .7rem;padding:0 .2rem;text-transform:uppercase}.results_table_scroll{-webkit-overflow-scrolling:touch;max-width:100%;min-width:0;overflow-x:auto;width:100%}.results_table_scroll_main{overflow-x:auto}.results_external_table,.results_main_table{border-collapse:collapse;font-size:.95rem;width:100%}.results_main_table{min-width:100%;table-layout:auto;width:max-content}.results_external_table{min-width:760px}.results_external_table th,.results_main_table th{background:#0f172a;color:#fff;font-size:.74rem;letter-spacing:.04em;padding:.65rem .5rem;text-align:center}.results_external_table td,.results_main_table td{border-bottom:1px solid #e2e8f0;padding:.65rem .5rem;text-align:center;vertical-align:middle}.results_main_table td,.results_main_table th{font-size:.88rem;line-height:1.2;overflow-wrap:normal;padding:.55rem .16rem;white-space:nowrap}.results_main_table th{letter-spacing:.02em}.results_main_table td.results_course_col,.results_main_table th.results_course_col{padding-left:.35rem;padding-right:.35rem;white-space:nowrap}.results_main_table td.results_col_sn,.results_main_table th.results_col_sn{padding-left:.05rem;padding-right:.05rem;white-space:nowrap}.results_main_table td.results_col_gpa,.results_main_table td.results_col_ogpa,.results_main_table td.results_col_reg,.results_main_table td.results_col_sgpa,.results_main_table th.results_col_gpa,.results_main_table th.results_col_ogpa,.results_main_table th.results_col_reg,.results_main_table th.results_col_sgpa{padding-left:.08rem;padding-right:.08rem;white-space:nowrap}.results_main_table td.results_col_name,.results_main_table th.results_col_name{padding-left:.42rem;text-align:left}.results_external_table tbody tr:nth-child(2n),.results_main_table tbody tr:nth-child(2n){background:#f8fafc}.results_clickable_cell{color:#1d4ed8;cursor:pointer;font-weight:600}.results_clickable_cell:hover{text-decoration:underline}.results_name_cell{text-align:left}.results_name_cell,.results_reg_cell{overflow-wrap:normal;white-space:nowrap}.results_course_cell{align-items:center;display:flex;gap:.16rem;justify-content:center;min-width:0}.results_course_total{font-weight:600}.results_course_grade{align-items:center;background:#e2e8f0;border-radius:999px;color:#0f172a;display:inline-flex;font-size:.86rem;font-weight:700;justify-content:center;line-height:1.1;min-width:1.2rem;padding:.05rem .36rem;text-align:center}.results_course_grade.is_fail{background:#fee2e2;color:#b91c1c}.results_gpa_cell{font-weight:700}.results_gpa_cell.is_low{color:#dc2626}.results_course_list{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:wrap;gap:.35rem .4rem}.results_course_list_item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:inline-flex;gap:.28rem;justify-content:flex-start;max-width:100%;padding:.18rem .34rem;width:fit-content}.carryover_table{font-size:.88rem;min-width:760px}.carryover_table td,.carryover_table th{padding:.65rem .5rem}.carryover_table th{letter-spacing:.03em}.carry_col_sn{max-width:44px;min-width:44px;width:44px}.carry_col_name{min-width:210px;text-align:left;white-space:nowrap}.results_external_table td.carry_col_name,.results_external_table th.carry_col_name{text-align:left}.carry_col_reg{min-width:150px;white-space:nowrap}.carry_col_courses{min-width:280px}.carry_course_code{color:#0f172a;font-size:.76rem;font-weight:600;white-space:nowrap}.carry_course_total{font-size:.76rem;min-width:1.6rem;text-align:center}.carry_course_grade{font-size:.74rem}@media print{.tabl{padding:0}.results_table_block{border:none;box-shadow:none}.results_table_scroll,.results_table_scroll_main{overflow:visible!important}.results_external_table,.results_main_table{font-size:.6rem!important;min-width:0!important;table-layout:fixed!important;width:100%!important}.results_external_table td,.results_external_table th,.results_main_table td,.results_main_table th{overflow:hidden!important;padding:.28rem .1rem!important;vertical-align:middle!important;white-space:nowrap!important;word-break:normal!important}.results_main_table td.results_col_sn,.results_main_table th.results_col_sn{padding-left:.1rem!important;padding-right:.1rem!important;width:14pt!important}.results_main_table td.results_col_name,.results_main_table th.results_col_name{font-size:.66rem!important;line-height:1.3!important;overflow:visible!important;padding-left:.1rem!important;padding-right:.1rem!important;white-space:normal!important;width:90pt!important;word-break:break-word!important}.results_main_table td.results_col_reg,.results_main_table th.results_col_reg{font-size:.7rem!important;overflow:visible!important;padding-left:.1rem!important;padding-right:.1rem!important;white-space:nowrap!important;width:60pt!important}.results_main_table td.results_course_col,.results_main_table th.results_course_col{padding-left:.1rem!important;padding-right:.1rem!important;width:30pt!important}.results_main_table td.results_col_gpa,.results_main_table td.results_col_ogpa,.results_main_table td.results_col_sgpa,.results_main_table th.results_col_gpa,.results_main_table th.results_col_ogpa,.results_main_table th.results_col_sgpa{padding-left:.1rem!important;padding-right:.1rem!important;white-space:nowrap!important;width:26pt!important}.results_course_grade{font-size:.62rem!important;padding:.04rem .18rem!important}.results_course_cell{gap:.02rem}.results_course_list_item{gap:.2rem;padding:.1rem .2rem!important}.no_print{display:none!important}}.fc_page{background:#f8fafc;box-sizing:border-box;min-height:100vh;padding:2rem 2rem 3rem}.fc_header{border-bottom:1px solid #e2e8f0;margin-bottom:1.75rem;padding-bottom:1.25rem}.fc_overline{color:#94a3b8;font-size:.65rem;font-weight:600;letter-spacing:.18em;margin:0 0 .25rem;text-transform:uppercase}.fc_header h2{color:#0f172a;font-size:1.35rem;font-weight:700;margin:0}.fc_subtitle{color:#94a3b8;font-size:.82rem;margin:.3rem 0 0}.fc_section{margin-bottom:1.75rem}.fc_section_head{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.fc_section_label{color:#94a3b8;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.fc_session_badge{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:5px;color:#1e293b;font-size:.78rem;font-weight:700;padding:.2rem .6rem}.fc_session_list{display:flex;flex-wrap:wrap;gap:.5rem}.fc_session_chip{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;cursor:pointer;font-size:.82rem;font-weight:600;padding:.4rem .85rem;transition:background .15s,border-color .15s}.fc_session_chip:hover{background:#f1f5f9;border-color:#cbd5e1}.fc_dept_grid{display:flex;flex-direction:column;gap:.5rem}.fc_dept_row{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:7px;cursor:pointer;display:flex;gap:.65rem;padding:.7rem .9rem;text-align:left;transition:background .15s}.fc_dept_row:hover{background:#f8fafc}.fc_dept_dot{background:#1e293b;border-radius:50%;flex-shrink:0;height:7px;width:7px}.fc_dept_name{color:#1e293b;flex:1 1;font-size:.85rem;font-weight:600}.fc_dept_code{color:#94a3b8;font-size:.72rem;font-weight:600;letter-spacing:.05em}.fc_dept_body{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.fc_sem_col{gap:1.25rem}.fc_level_group,.fc_sem_col{display:flex;flex-direction:column}.fc_level_group{gap:.4rem}.fc_level_label{color:#94a3b8;font-size:.62rem;font-weight:700;letter-spacing:.14em;margin:0;text-transform:uppercase}.fc_course_list{display:flex;flex-direction:column;gap:.35rem}.fc_course_btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;gap:.75rem;padding:.55rem .85rem;text-align:left;transition:background .15s}.fc_course_btn:hover{background:#f8fafc}.fc_course_code{color:#1e293b;flex-shrink:0;font-size:.78rem;font-weight:700;min-width:60px}.fc_course_title{color:#64748b;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc_loading{color:#94a3b8;font-size:.85rem;padding:1rem 0}@media (max-width:720px){.fc_page{padding:1.25rem 1rem 2rem}.fc_dept_body,.fc_dept_grid{grid-template-columns:1fr}}.course_header{align-items:flex-start;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:2rem 2rem 1.25rem}.course_overline{color:#94a3b8;font-size:.65rem;font-weight:600;letter-spacing:.18em;margin:0 0 .25rem;text-transform:uppercase}.course_header h2{align-items:baseline;color:#0f172a;display:flex;flex-wrap:wrap;font-size:1.25rem;font-weight:700;gap:.5rem;margin:0 0 .25rem}.course_header h2 span{color:#64748b;font-size:.9rem;font-weight:400}.course_unit{color:#94a3b8;font-size:.78rem;margin:0}.course_upload_row{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.course_file_label{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;cursor:pointer;display:inline-block;font-size:.78rem;font-weight:600;padding:.45rem .9rem;transition:background .15s;white-space:nowrap}.course_file_label:hover{background:#f1f5f9}.course_upload_btn{background:#1e293b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.78rem;font-weight:600;padding:.45rem .9rem;transition:background .15s;white-space:nowrap}.course_upload_btn:hover{background:#0f172a}.course_table{border-radius:0;padding:0;text-align:left;text-transform:uppercase}.course_table input{border:.5px solid #000;height:100%;height:1.5rem;width:100%}.course_table input:focus{background-color:#e6f0f7;outline:none}.course_table table{width:100%}.course_table table th{background-color:#000;color:#fff;padding:.5rem}.course_table table td{padding:.2rem .5rem}.ext_grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.ext_col{display:flex;flex-direction:column;gap:.65rem}.ext_sem_label{color:#94a3b8;font-size:.62rem;font-weight:700;letter-spacing:.16em;margin:0 0 .25rem;text-transform:uppercase}.ext_level_block{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:.65rem .85rem}.ext_level_tag{color:#475569;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ext_course_row{display:flex;flex-wrap:wrap;gap:.4rem}.ext_course_btn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;cursor:pointer;font-size:.78rem;font-weight:700;padding:.35rem .75rem;text-transform:uppercase;transition:background .15s,border-color .15s}.ext_course_btn:hover{background:#e2e8f0;border-color:#cbd5e1}@media (max-width:600px){.ext_grid{grid-template-columns:1fr}}.student_dashboard{padding:1rem}.student_db{padding:1rem 2rem}.student_dashboard_header_img{height:2rem;width:2rem}.student_dashboard_header_img img{height:100%;width:100%}.d_head{background-color:#10f7aa;padding:1rem 0}.student_dashboard_head{display:grid;grid-template-columns:15% 1fr 15%;padding:1rem 1rem 0}.student_dashboard_head div{align-items:center;display:flex;flex-direction:column;justify-content:center}.passport_img{height:8rem;width:6rem}.passport_img img{width:100%}.student_dashboard_head_title{text-align:center}.student_dashboard_head_title h1{font-size:1.6rem;margin:0;text-transform:uppercase}.student_dashboard_head_title p{font-size:2rem;font-weight:700;margin:0;text-transform:uppercase}.student_dashboard_head_title h2{margin:0}.student_dashboard_body{padding:0}.student_dashboard_body_title{padding:1rem 0}.student_dashboard_body_title h2{margin:0}.student_dashboard_body_details{display:flex;flex-wrap:wrap;margin-top:1rem}.student_dashboard_body_details div{display:flex}.student_dashboard_body_details p,.student_dashboard_body_details p b{font-size:1.2rem;margin:1rem 1rem 0 0;text-transform:uppercase}.student_dashboard_body_details select{border:none;font-size:1.2rem;font-weight:700}.student_dashboard_body_details select:focus{outline:none}.table{font-size:1rem}.table td{font-size:1.2rem;padding:.5rem}.gp_table{display:grid;grid-template-columns:1fr 30%;padding-left:2rem}.gp_table div{align-items:center;display:flex}.gp_table div div{display:flex;margin-right:4rem}.gp_table div div p{margin-right:.2rem}.transcript_button{grid-gap:1rem;display:grid;grid-template-columns:1fr 1fr}.transcript_button button{background-color:#007bff;border:none;border-radius:6px;box-shadow:0 4px 8px #0000001f;color:#fff;cursor:pointer;font-size:.85rem;font-weight:700;padding:.4rem .85rem}.totals{display:flex;flex-direction:row-reverse;font-size:1.2rem}.totals div{align-items:center;display:flex;margin:0 1rem}.totals p{margin:0 .5rem 0 0}.totals h3{margin:0}.signature,.total_grade{font-size:1.2rem}.signature{display:flex;justify-content:space-between;margin-top:3rem}.signature div{padding:0 4rem;text-align:center}.signature div p{margin:0}.gp_tab{display:grid;grid-template-columns:5% 1fr;padding:0 1rem}.gp_tab div{align-items:center;display:flex;flex-direction:row-reverse}.gp_tab div div{display:flex;flex-direction:row;margin-left:4rem}.gp_tab div div p{margin-right:.2rem}.grade_table{font-size:1.2rem;margin-top:2rem;width:100%}.grade_table table{width:100%}.grade_table td{font-size:1.2rem;padding-left:.8rem}@media print{@page{size:A4 portrait;margin:10mm}.table th{border:none!important}td,th{white-space:normal!important}.admin_layout_header,.admin_layout_sidebar,.no_print,header,nav{display:none!important}.admin_layout_content{margin:0!important;padding:0!important}.student_db{box-sizing:border-box;padding:0 3mm!important;width:100%}body,html{font-size:9pt;margin:0;padding:0}.student_dashboard_head_title p{font-size:1rem}.grade_table td,.grade_table th,.table td,.table th{font-size:8pt!important;padding:2px 4px!important}.total_grade,.totals{font-size:9pt!important}.signature img{height:25px!important}.signature{margin-top:1rem!important}.grade_note p{font-size:7pt!important;margin:0!important}.grade_note,.grade_table,.print_footer{background:#fff}.print_footer{bottom:0;left:3mm;position:fixed;right:3mm}.grade_table{margin-top:0!important}.grade_table table,.grade_table td{font-size:7pt!important}.grade_table td{padding:1px 3px!important}.passport_img{height:5rem!important;width:4rem!important}.student_dashboard_body_details p,.student_dashboard_body_details p b{font-size:9pt!important;margin:4px 8px 0 0!important}}.left{text-align:center}.sm_page{background:#f8fafc;box-sizing:border-box;min-height:100vh;padding:2rem 2rem 3rem}.sm_header{border-bottom:1px solid #e2e8f0;margin-bottom:1.75rem;padding-bottom:1.25rem}.sm_overline{color:#94a3b8;font-size:.65rem;font-weight:600;letter-spacing:.18em;margin:0 0 .25rem;text-transform:uppercase}.sm_header h2{color:#0f172a;font-size:1.35rem;font-weight:700;margin:0}.sm_subtitle{color:#94a3b8;font-size:.82rem;margin:.3rem 0 0}.sm_body{align-items:flex-start;display:flex;gap:1.25rem}.sm_main{flex:1 1;min-width:0}.sm_search_row{align-items:flex-end;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;padding:1rem 1.1rem}.sm_search_field{display:flex;flex:1 1;flex-direction:column;gap:.3rem;min-width:140px}.sm_search_field--sm{flex:0 0 100px;max-width:100px}.sm_field label,.sm_search_field label{color:#94a3b8;font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.sm_field input,.sm_search_field input,.sm_search_field select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-sizing:border-box;color:#0f172a;font-size:.875rem;height:2.1rem;padding:0 .7rem;width:100%}.sm_field input:focus,.sm_search_field input:focus,.sm_search_field select:focus{border-color:#1e293b;outline:none}.sm_search_btns{display:flex;flex-shrink:0;gap:.5rem}.sm_btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;cursor:pointer;font-size:.78rem;font-weight:600;padding:.45rem .9rem;transition:background .15s;white-space:nowrap}.sm_btn:hover:not(:disabled){background:#f1f5f9}.sm_btn:disabled{cursor:not-allowed;opacity:.4}.sm_btn--primary{background:#1e293b;border-color:#1e293b;color:#fff}.sm_btn--primary:hover:not(:disabled){background:#0f172a}.sm_btn--danger{background:#dc2626;border-color:#dc2626;color:#fff}.sm_btn--danger:hover:not(:disabled){background:#b91c1c}.sm_btn--full{justify-content:center;margin-top:.85rem;width:100%}.sm_btn--inline{align-self:flex-end;flex-shrink:0;height:2.1rem}.sm_tabs{border-bottom:1px solid #e2e8f0;display:flex;gap:0;margin-bottom:1.25rem}.sm_tab{background:none;border:none;border-bottom:2px solid #0000;color:#94a3b8;cursor:pointer;font-size:.82rem;font-weight:600;margin-bottom:-1px;padding:.55rem 1rem;transition:color .15s,border-color .15s}.sm_tab.active{border-bottom-color:#1e293b;color:#0f172a}.sm_panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.1rem 1.25rem}.sm_fields_row{align-items:flex-end;border-bottom:1px solid #f1f5f9;display:flex;gap:.75rem;padding:.75rem 0}.sm_fields_row:last-child{border-bottom:none;padding-bottom:0}.sm_fields_row:first-child{padding-top:0}.sm_field{display:flex;flex:1 1;flex-direction:column;gap:.3rem}.sm_remove_grid{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:1fr 1fr}.sm_remove_btn{background:#fff;border:1px solid #e2e8f0;border-radius:7px;cursor:pointer;display:flex;flex-direction:column;gap:.3rem;padding:.85rem 1rem;text-align:left;transition:background .15s,border-color .15s}.sm_remove_btn:hover:not(:disabled){background:#fef2f2;border-color:#fecaca}.sm_remove_btn:disabled{cursor:not-allowed;opacity:.4}.sm_remove_btn--danger{border-color:#fecaca}.sm_remove_btn--danger:hover:not(:disabled){background:#fef2f2}.sm_remove_label{color:#dc2626;font-size:.82rem;font-weight:600}.sm_remove_hint{color:#94a3b8;font-size:.72rem}.sm_inline_input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;box-sizing:border-box;color:#0f172a;display:block;font-size:.75rem;height:1.8rem;margin-top:.2rem;padding:0 .5rem;width:100%}.sm_inline_input:focus{border-color:#1e293b;outline:none}.sm_side{display:flex;flex-direction:column;flex-shrink:0;gap:.75rem;width:280px}.sm_status{border:1px solid;border-radius:7px;padding:.75rem 1rem}.sm_status.success{background:#f0fdf4;border-color:#bbf7d0}.sm_status.error{background:#fef2f2;border-color:#fecaca}.sm_status_label{color:inherit;font-size:.65rem;font-weight:700;letter-spacing:.12em;margin:0 0 .4rem;text-transform:uppercase}.sm_status.success .sm_status_label{color:#166534}.sm_status.error .sm_status_label{color:#991b1b}.sm_status ul{font-size:.82rem;margin:0;padding-left:1rem}.sm_status.success ul{color:#166534}.sm_status.error ul{color:#991b1b}.sm_status li+li{margin-top:.2rem}.sm_result_card{background:#fff;border:1px solid #e2e8f0;border-radius:7px;padding:.9rem 1rem}.sm_result_label{color:#94a3b8;font-size:.62rem;font-weight:700;letter-spacing:.14em;margin:0 0 .5rem;text-transform:uppercase}.sm_result_name{color:#0f172a;font-size:.95rem;font-weight:700;margin:0 0 .2rem}.sm_result_meta{margin:0 0 .15rem}.sm_gpa_row,.sm_result_meta{color:#64748b;font-size:.78rem}.sm_gpa_row{background:#f8fafc;border-radius:5px;display:flex;justify-content:space-between;margin-top:.6rem;padding:.4rem .6rem}.sm_course_list{display:flex;flex-direction:column;gap:.35rem}.sm_course_row{align-items:center;background:#fff;border:1px solid #f1f5f9;border-radius:5px;cursor:pointer;display:flex;font-size:.8rem;justify-content:space-between;padding:.4rem .6rem;transition:background .15s}.sm_course_row:hover{background:#f8fafc;border-color:#e2e8f0}.sm_course_code{color:#1e293b;font-weight:600}.sm_course_score{color:#64748b;font-size:.78rem}.sm_overlay{align-items:center;background:#0f172a66;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.sm_modal{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 32px #0f172a2e;padding:1.5rem;width:min(400px,92vw)}.sm_modal h3{color:#0f172a;font-size:1rem;margin:0 0 .3rem}.sm_modal p{color:#64748b;font-size:.85rem;margin:0}.sm_modal_actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.25rem}@media (max-width:900px){.sm_body{flex-direction:column}.sm_side{width:100%}.sm_remove_grid{grid-template-columns:1fr}}@media (max-width:600px){.sm_page{padding:1.25rem 1rem 2rem}.sm_search_row{align-items:stretch;flex-direction:column}.sm_search_field--sm{flex:1 1;max-width:100%}.sm_search_btns{width:100%}.sm_search_btns .sm_btn{flex:1 1}}.top_students{padding:1rem 1.5rem 3rem}.ts_toolbar{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem}.ts_panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.65rem 1rem}.ts_panel_full{width:100%}.ts_panel_label{color:#64748b;display:block;font-size:.72rem;font-weight:600;letter-spacing:.12em;margin-bottom:.5rem;text-transform:uppercase}.ts_panel_hint{color:#94a3b8;font-size:.68rem;font-weight:400;letter-spacing:0;text-transform:none}.ts_chips{display:flex;flex-wrap:wrap;gap:.4rem}.ts_chip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;cursor:pointer;font-size:.82rem;font-weight:600;padding:.35rem .75rem;transition:background .15s,border-color .15s;white-space:nowrap}.ts_chip:hover{background:#e2e8f0}.ts_chip.active{background:#1e293b;border-color:#1e293b;color:#fff}.ts_results{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1rem}.ts_results_header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.ts_title{color:#1e293b;font-size:.85rem;font-weight:700;letter-spacing:.07em;margin:0;text-transform:uppercase}.ts_actions{display:flex;gap:.5rem}.ts_btn{border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:700;padding:.4rem .9rem}.ts_btn_csv{background:#f1f5f9;border:1px solid #e2e8f0;color:#1e293b}.ts_btn_csv:hover{background:#e2e8f0}.ts_btn_print{background:#1e293b;color:#fff}.ts_btn_print:hover{background:#0f172a}.ts_btn_more{background:#fff;border:1px solid #e2e8f0;color:#1e293b;padding:.45rem 1.2rem}.ts_btn_more:hover{background:#f1f5f9}.ts_table{border-collapse:collapse;font-size:.85rem;width:100%}.ts_table thead tr{background:#f8fafc;border-bottom:2px solid #e2e8f0}.ts_table th{color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.1em;padding:.6rem .9rem;text-align:left;text-transform:uppercase}.ts_table td{border-bottom:1px solid #f1f5f9;color:#1e293b;padding:.6rem .9rem}.ts_table tbody tr:last-child td{border-bottom:none}.ts_table tbody tr:hover td{background:#f8fafc}.ts_table .rank{font-size:1rem;text-align:center;width:3rem}.ts_table .score{color:#1d4ed8;font-weight:700}.ts_empty{color:#94a3b8;font-size:.9rem;padding:2.5rem;text-align:center}.ts_more{display:flex;justify-content:center;margin-top:1rem}.ts_error{padding:3rem;text-align:center}.ts_error p{color:#dc2626;font-weight:600;margin-bottom:1rem}.ts_error button{background:#1e293b;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:.4rem 1.2rem}.print_header{display:none}@media print{.no_print{display:none!important}.print_header{border-bottom:2px solid #0f172a;display:block;margin-bottom:1.5rem;padding-bottom:1rem;text-align:center}.print_header h1{font-size:1rem;letter-spacing:.06em;text-transform:uppercase}.print_header h2{color:#475569;font-size:.85rem;font-weight:400;margin-top:.3rem}.print_meta{color:#64748b;font-size:.75rem;margin-top:.4rem}.ts_table th{background:#0f172a!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.ts_table .score{color:#0f172a!important}.ts_results{border:none;padding:0}.ts_results_header{display:none}}@media (max-width:768px){.top_students{padding:1rem}}.course_reg_upload select{border:1px solid #020263;border-radius:2px;height:2rem;margin:0 1rem;text-transform:uppercase}.course_reg_upload select:focus{outline:none}.course_reg_upload button{background-color:#020263;border:none;border-radius:2px;color:#fff;font-size:larger;font-weight:700;padding:.5rem 1rem}.course_reg_upload{align-items:center;border-bottom:.1px solid #020263;display:flex;padding:1rem 2rem}.tabl{padding:1rem 0;text-align:left;text-transform:uppercase}.tabl table{width:100%}.tabl table th{background-color:#000;color:#fff;padding:.1rem .3rem;text-transform:uppercase}.left{text-align:left}.cr_page{background:#f8fafc;box-sizing:border-box;min-height:100vh;padding:2rem 2rem 3rem}.cr_header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.75rem;padding-bottom:1.25rem}.cr_overline{color:#94a3b8;font-size:.65rem;font-weight:600;letter-spacing:.18em;margin:0 0 .25rem;text-transform:uppercase}.cr_header h2{color:#0f172a;font-size:1.35rem;font-weight:700;margin:0}.cr_subtitle{color:#94a3b8;font-size:.82rem;margin:.3rem 0 0}.cr_section{margin-bottom:1.75rem}.cr_section_head{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.cr_section_label{color:#94a3b8;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.cr_session_badge{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:5px;color:#1e293b;font-size:.78rem;font-weight:700;padding:.2rem .6rem}.cr_session_list{display:flex;flex-wrap:wrap;gap:.5rem}.cr_session_chip{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;cursor:pointer;font-size:.82rem;font-weight:600;padding:.4rem .85rem;transition:background .15s,border-color .15s}.cr_session_chip:hover{background:#f1f5f9;border-color:#cbd5e1}.cr_error{background:#fef2f2;border:1px solid #fecaca;border-radius:7px;margin-bottom:1.25rem;padding:.65rem 1rem}.cr_error,.cr_retry{color:#991b1b;font-size:.82rem}.cr_retry{background:none;border:none;cursor:pointer;font-weight:700;padding:0;text-decoration:underline}.cr_empty{color:#94a3b8;font-size:.82rem;padding:.5rem 0}.levels{display:flex;flex-direction:column;gap:.5rem}.levels>p{color:#94a3b8;font-size:.62rem;font-weight:700;letter-spacing:.16em;margin:0 0 .5rem;text-transform:uppercase}.level{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:7px;display:flex;justify-content:space-between;padding:.7rem .9rem}.level h3{color:#1e293b;font-size:.85rem;font-weight:600;margin:0}.level div{align-items:center;display:flex;gap:.5rem}.level button{border:none;border-radius:6px;cursor:pointer;font-size:.78rem;font-weight:600;padding:.4rem .85rem;transition:opacity .15s}.level button:hover{opacity:.85}.blue,.gray{background:#f1f5f9;color:#1e293b}@media (max-width:600px){.cr_page{padding:1.25rem 1rem 2rem}.cr_header,.level{align-items:flex-start;flex-direction:column}.level{gap:.6rem}.level div{width:100%}.level button{flex:1 1}}.table{padding:1rem 0;text-align:left;text-transform:uppercase}.table table{border-collapse:collapse;width:100%}.table table th{background-color:#000;color:#fff;padding:.1rem .3rem}.table table td{padding:.4rem .3rem;vertical-align:top}.table table td,.table table th{font-size:.85rem}.table table td div{line-height:1.25rem}.center{text-align:center}.finalists_page{overflow:visible}.finalists_page .table table{table-layout:auto}.finalists_page td,.finalists_page th{white-space:normal;word-break:break-word}@media print{.finalists_page .table{font-size:.7rem}.finalists_page td,.finalists_page th{white-space:normal}}.finalists_page .table{-webkit-overflow-scrolling:touch;overflow-x:auto}.finalists_page .table table{min-width:900px}.finalists_page td:first-child,.finalists_page th:first-child{width:48px}.finalists_page td:nth-child(2),.finalists_page th:nth-child(2){white-space:nowrap;width:220px}.finalists_page td:nth-child(3),.finalists_page th:nth-child(3){white-space:nowrap;width:160px}.finalists_toolbar{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;padding:1rem 1.5rem 0}.finalists_panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 18px #0f172a0f;padding:1rem;text-align:left}.finalists_panel h3{color:#64748b;font-size:.8rem;letter-spacing:.12em;margin:0 0 .75rem;text-transform:uppercase}.panel_row{display:flex;flex-wrap:wrap;gap:.5rem}.panel_item{background:#f8fafc;border:1px solid #0000;border-radius:8px;color:#0f172a;cursor:pointer;font-weight:600;padding:.45rem .75rem;text-align:left;white-space:nowrap}.panel_item:hover{background:#e2e8f0}.panel_item.active{background:#1d4ed8;color:#fff}.panel_hint{color:#64748b;font-size:.85rem;margin:0 0 .75rem}.finalists_table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 18px #0f172a0f;margin:1rem 1.5rem 2rem;padding:.75rem}.table_header h3{color:#64748b;font-size:.8rem;letter-spacing:.12em;margin:0;padding:.5rem .75rem .75rem;text-align:left;text-transform:uppercase}@media (max-width:980px){.finalists_toolbar{grid-template-columns:1fr}.finalists_table{margin:1rem}}@media print{.finalists_toolbar{display:none}.finalists_table{border:none;box-shadow:none;margin:0;padding:0}}.duplicates_page{margin:0 auto;max-width:1400px;padding:2rem}.duplicates_header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.duplicates_header h2{color:#333;margin:0}.duplicates_header p{color:#666;margin:.5rem 0 0}.refresh_btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem}.refresh_btn:hover{background:#0056b3}.refresh_btn:disabled{background:#ccc;cursor:not-allowed}.message{align-items:center;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.message button{background:none;border:none;cursor:pointer;font-size:1.5rem;padding:0 .5rem}.no_duplicates{background:#f8f9fa;border-radius:8px;padding:3rem;text-align:center}.no_duplicates p{color:#666;font-size:1.1rem}.duplicates_list{display:flex;flex-direction:column;gap:2rem}.duplicate_group{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem}.duplicate_group_header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.duplicate_group_header h3{color:#333;margin:0}.duplicate_count{background:#ff6b6b;border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.profiles_grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:1.5rem}.profile_card{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;padding:1rem;transition:all .3s ease}.profile_card.selected{background:#d4edda;border-color:#28a745}.profile_select{align-items:center;border-bottom:1px solid #ddd;display:flex;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem}.profile_select input[type=radio]{cursor:pointer;height:18px;width:18px}.profile_select label{color:#333;cursor:pointer;font-weight:600}.profile_details p{color:#555;margin:.5rem 0}.profile_details strong{color:#333}.profile_id{color:#999;font-size:.85rem;word-break:break-all}.duplicate_actions{display:flex;justify-content:flex-end}.merge_btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem}.merge_btn:hover{background:#218838}.merge_btn:disabled{background:#ccc;cursor:not-allowed}.temp_600_page{padding:1.25rem}.temp_600_header{margin-bottom:1rem}.temp_600_header h2{margin:0 0 .35rem}.temp_600_header p{color:#475569;font-weight:600;margin:0}.temp_error{background:#fee2e2;border:1px solid #fecaca;border-radius:10px;color:#b91c1c;padding:1rem}.temp_stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem}.stat_card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.85rem}.stat_card p{color:#64748b;font-size:.85rem;letter-spacing:.05em;margin:0 0 .35rem;text-transform:uppercase}.stat_card h3{margin:0 0 .25rem}.stat_card small{color:#334155;display:block}.temp_table_wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow-x:auto}.temp_table_wrap table{border-collapse:collapse;min-width:780px;width:100%}.temp_table_wrap td,.temp_table_wrap th{border-bottom:1px solid #e2e8f0;padding:.55rem .65rem;text-align:left}.temp_table_wrap th{background:#0f172a;color:#fff}.temp_table_wrap td:first-child,.temp_table_wrap td:nth-child(4),.temp_table_wrap td:nth-child(5),.temp_table_wrap td:nth-child(6),.temp_table_wrap td:nth-child(7){text-align:center}@media (max-width:1000px){.temp_stats{grid-template-columns:1fr}}.admin_layout{background:#f7f9fc;display:flex;max-width:100%;min-height:100vh;overflow-x:hidden}.admin_sidenav{align-items:flex-start;background:#0f172a;box-shadow:4px 0 16px #0f172a33;box-sizing:border-box;color:#e2e8f0;display:flex;flex-direction:column;gap:1rem;height:100dvh;left:0;overflow:visible;padding:1rem .5rem;position:fixed;top:0;width:72px;z-index:100}.sidenav_brand{align-items:center;align-self:center;border-radius:10px;display:flex;flex-shrink:0;height:44px;justify-content:center;overflow:hidden;width:44px}.sidenav_brand img{height:100%;object-fit:contain;width:100%}.sidenav_links{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:.4rem;width:100%}.nav_item{align-items:center;background:#0000;border:none;border-radius:12px;box-sizing:border-box;color:inherit;cursor:pointer;display:flex;gap:.6rem;justify-content:flex-start;overflow:hidden;padding:.65rem .75rem;position:relative;transition:background .2s ease,color .2s ease,width .25s ease;white-space:nowrap;width:100%;width:42px}.nav_item:hover{background:#1e293b;width:180px}.nav_logout{color:#f87171;margin-bottom:.5rem}.nav_logout:hover{background:#f871711f!important}.nav_item.active{background:#ffffff29;color:#fff}.nav_label{font-size:.8rem;opacity:0;pointer-events:none;transform:translateX(-6px);transition:opacity .2s ease,transform .2s ease}.nav_item:hover .nav_label{opacity:1;transform:translateX(0)}.admin_layout_content{box-sizing:border-box;flex:1 1;margin-left:72px;min-width:0;overflow-x:auto;padding:1.5rem}.admin_layout_content>*{min-width:0}@media print{.admin_sidenav{display:none}.admin_layout{display:block}.admin_layout_content{padding:0}}@media (max-width:840px){.admin_layout{flex-direction:column}.admin_sidenav{flex-direction:row;height:auto;justify-content:center;left:auto;overflow:visible;position:sticky;top:0;width:100%;z-index:10}.admin_layout_content{margin-left:0}.sidenav_links{flex-direction:row;flex-wrap:wrap;justify-content:center}.nav_label{display:none}}.um_page{padding:1.5rem}.um_header h2{margin:0 0 .25rem}.um_header p{color:#64748b;font-size:.9rem;margin:0 0 1.5rem}.um_message{align-items:center;border-radius:8px;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1rem}.um_message.success{background:#dcfce7;color:#166534}.um_message.error{background:#fee2e2;color:#991b1b}.um_message button{background:none;border:none;color:inherit;cursor:pointer;font-size:1.1rem;padding:0}.um_body{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:380px 1fr}.um_form_card,.um_list_card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0f172a14;padding:1.5rem}.um_form_card h3,.um_list_card h3{color:#0f172a;font-size:1rem;margin:0 0 1.25rem}.um_form{gap:1rem}.um_field,.um_form{display:flex;flex-direction:column}.um_field{gap:.35rem}.um_field label{color:#475569;font-size:.82rem;font-weight:600}.um_field input,.um_field select{border:1px solid #cbd5e1;border-radius:8px;font-family:inherit;font-size:.9rem;outline:none;padding:.6rem .75rem;transition:border-color .2s}.um_field input:focus,.um_field select:focus{border-color:#1d4ed8}.um_btn{background:#1d4ed8;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;padding:.7rem;transition:background .2s}.um_btn:hover{background:#1e40af}.um_btn:disabled{cursor:not-allowed;opacity:.6}.um_empty{color:#94a3b8;font-size:.9rem}.um_table{border-collapse:collapse;font-size:.88rem;width:100%}.um_table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;font-weight:600;padding:.6rem .75rem;text-align:left}.um_table td{border-bottom:1px solid #f1f5f9;color:#1e293b;padding:.75rem}.um_role_badge{border-radius:20px;font-size:.78rem;font-weight:600;padding:.25rem .6rem;text-transform:capitalize}.um_role_badge.dean{background:#dbeafe;color:#1d4ed8}.um_role_badge.exam_officer{background:#dcfce7;color:#166534}.um_delete_btn{background:none;border:1px solid #fca5a5;border-radius:6px;color:#dc2626;cursor:pointer;font-family:inherit;font-size:.8rem;padding:.3rem .7rem;transition:background .2s}.um_delete_btn:hover{background:#fee2e2}@media (max-width:840px){.um_body{grid-template-columns:1fr}}.cat_page{padding:1.5rem}.cat_header h2{margin:0 0 .25rem}.cat_header p{color:#64748b;font-size:.9rem;margin:0 0 1.25rem}.cat_msg{align-items:center;border-radius:8px;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1rem}.cat_msg.success{background:#dcfce7;color:#166534}.cat_msg.error{background:#fee2e2;color:#991b1b}.cat_msg button{background:none;border:none;color:inherit;cursor:pointer;font-size:1.1rem}.cat_tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.cat_tabs button{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-family:inherit;font-size:.88rem;padding:.5rem 1.25rem;transition:all .2s}.cat_tabs button.active{background:#0f172a;border-color:#0f172a;color:#fff}.cat_body{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:340px 1fr}.cat_form_card,.cat_list_card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0f172a14;padding:1.5rem}.cat_form_card h3,.cat_list_card h3{color:#0f172a;font-size:1rem;margin:0 0 1.25rem}.cat_form{gap:.9rem}.cat_field,.cat_form{display:flex;flex-direction:column}.cat_field{gap:.3rem}.cat_field label{color:#475569;font-size:.8rem;font-weight:600}.cat_field input,.cat_field select{border:1px solid #cbd5e1;border-radius:8px;font-family:inherit;font-size:.88rem;outline:none;padding:.55rem .75rem;transition:border-color .2s}.cat_field input:focus,.cat_field select:focus{border-color:#1d4ed8}.cat_btn{background:#1d4ed8;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;padding:.65rem;transition:background .2s}.cat_btn:hover{background:#1e40af}.cat_btn:disabled{cursor:not-allowed;opacity:.6}.cat_filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.cat_search{flex:1 1;font-size:.85rem;min-width:160px;padding:.5rem .75rem}.cat_filters select,.cat_search{border:1px solid #cbd5e1;border-radius:8px;font-family:inherit;outline:none}.cat_filters select{font-size:.82rem;padding:.5rem .6rem}.cat_table{border-collapse:collapse;font-size:.82rem;width:100%}.cat_table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;font-weight:600;padding:.55rem .6rem;text-align:left}.cat_table td{border-bottom:1px solid #f1f5f9;color:#1e293b;padding:.6rem}.cat_code{background:#f1f5f9;border-radius:4px;color:#0f172a;font-family:monospace;font-size:.8rem;padding:.15rem .45rem}.cat_type_badge{border-radius:20px;font-size:.75rem;font-weight:600;padding:.2rem .5rem}.cat_type_badge.professional{background:#dbeafe;color:#1d4ed8}.cat_type_badge.external{background:#fef9c3;color:#854d0e}.cat_del_btn{background:none;border:1px solid #fca5a5;border-radius:6px;color:#dc2626;cursor:pointer;font-family:inherit;font-size:.78rem;padding:.25rem .6rem;transition:background .2s}.cat_del_btn:hover{background:#fee2e2}@media (max-width:900px){.cat_body{grid-template-columns:1fr}}.pp_page{align-items:center;background:#f1f5f9;display:flex;justify-content:center;min-height:100vh;padding:24px 16px}.pp_card{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;max-width:460px;padding:40px 36px;width:100%}.pp_logo_row{gap:12px;margin-bottom:28px}.pp_logo_circle,.pp_logo_row{align-items:center;display:flex}.pp_logo_circle{background:#1e293b;border-radius:50%;color:#fff;flex-shrink:0;font-size:14px;font-weight:700;height:44px;justify-content:center;width:44px}.pp_faculty{color:#1e293b;font-size:13px;font-weight:600;margin:0}.pp_uni{color:#64748b;font-size:12px;margin:0}.pp_title{color:#0f172a;font-size:20px;font-weight:700;margin:0 0 6px}.pp_subtitle{color:#64748b;font-size:13px;line-height:1.5;margin:0 0 28px}.pp_form{gap:20px}.pp_field,.pp_form{display:flex;flex-direction:column}.pp_field{gap:6px}.pp_field label{color:#374151;font-size:13px;font-weight:600}.pp_field input[type=text]{border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;padding:10px 12px;transition:border-color .2s}.pp_field input[type=text]:focus{border-color:#1e293b}.pp_drop_zone{align-items:center;border:2px dashed #d1d5db;border-radius:10px;cursor:pointer;display:flex;justify-content:center;min-height:160px;overflow:hidden;transition:border-color .2s}.pp_drop_zone:hover{border-color:#1e293b}.pp_drop_hint{align-items:center;color:#94a3b8;display:flex;flex-direction:column;font-size:13px;gap:6px}.pp_drop_icon{font-size:28px}.pp_drop_sub{color:#cbd5e1;font-size:11px}.pp_preview{height:200px;object-fit:cover;width:100%}.pp_change_btn{align-self:flex-start;background:none;border:none;color:#1e293b;cursor:pointer;font-size:12px;padding:0;text-decoration:underline}.pp_status{border-radius:8px;font-size:13px;padding:10px 14px}.pp_status.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.pp_status.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.pp_submit{background:#1e293b;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px;transition:background .2s}.pp_submit:hover:not(:disabled){background:#0f172a}.pp_submit:disabled{cursor:not-allowed;opacity:.6}.pp_success_box{align-items:center;display:flex;flex-direction:column;gap:16px;padding:16px 0}.pp_uploaded_img{border:3px solid #1e293b;border-radius:50%;height:140px;object-fit:cover;width:140px}.pp_success_msg{color:#16a34a;font-size:15px;font-weight:600;text-align:center}.pp_verifying{color:#64748b;font-size:12px;margin:2px 0 0}.pp_verified{color:#16a34a;font-size:13px;font-weight:600;margin:2px 0 0}
/*# sourceMappingURL=main.93db4259.css.map*/