/* TJ WASSCE - small additions to AdminLTE */
.navbar-school { color: #fff; float: left; line-height: 50px; padding-left: 12px; font-weight: 600; letter-spacing: .3px; }
.year-switch .navbar-form { margin: 8px 6px; padding: 0 6px; border: 0; box-shadow: none; }
.year-switch .year-label { color: #fff; margin-right: 6px; font-weight: 600; }
.year-switch select { display: inline-block; width: auto; }
.content-header h1 small b { color: #3c8dbc; }
.filter-bar { margin-bottom: 12px; }
.filter-bar .form-group { margin-right: 8px; margin-bottom: 6px; }
.table-compact > thead > tr > th, .table-compact > tbody > tr > td { padding: 4px 6px; font-size: 13px; white-space: nowrap; }
.table-centered td, .table-centered th { text-align: center; }
.table-centered td:nth-child(-n+2), .table-centered th:nth-child(-n+2) { text-align: left; }
tr.row-total td { font-weight: 700; background: #f4f4f4; }
.grade-pill { display: inline-block; min-width: 30px; padding: 1px 6px; border-radius: 3px; background: #eef3f7; font-weight: 600; text-align: center; }
.grade-credit { background: #dff0d8; color: #2b542c; }
.grade-pass { background: #fcf8e3; color: #8a6d3b; }
.grade-fail { background: #f2dede; color: #a94442; }
.grade-special { background: #e1e1f5; color: #333380; }
.stat-note { color: #777; font-size: 12px; }
.subject-grid .form-group { margin-bottom: 6px; }
.subject-grid label { font-weight: 500; }
.slip { max-width: 800px; margin: 0 auto; background: #fff; padding: 24px; }
.slip h2, .slip h3 { margin-top: 0; text-align: center; }
.login-page { background: #d2d6de; }
@media print {
  .main-header, .main-sidebar, .main-footer, .content-header, .no-print, .dt-buttons, .dataTables_filter, .dataTables_length, .dataTables_paginate, .dataTables_info { display: none !important; }
  .content-wrapper { margin-left: 0 !important; background: #fff; }
  .box { border: 0; box-shadow: none; }
}
.core-card { background: #fff; border-radius: 3px; box-shadow: 0 1px 2px rgba(0,0,0,.15); margin-bottom: 18px; overflow: hidden; }
.core-card-head { color: #fff; padding: 8px 12px; display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 4px; }
.core-card-title { font-weight: 600; font-size: 15px; }
.core-card-sub { font-size: 12px; opacity: .9; }
.core-card-total { padding: 10px 12px 4px; display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 6px; }
.core-card-pct { font-size: 30px; font-weight: 700; line-height: 1; }
.core-card-count { color: #666; font-size: 13px; }
.core-card-sex { padding: 4px 12px 2px; }
.core-card-sex:last-child { padding-bottom: 10px; }
.core-card-sex-row { display: flex; justify-content: space-between; font-size: 13px; margin-bottom: 3px; }
.core-card-sex-row small { color: #888; }
.core-card .progress { margin-bottom: 4px; background: #eee; }
.small-box > .inner { min-height: 126px; }
.summary-blocks .table > thead > tr > th, .summary-blocks .table > tbody > tr > td { white-space: normal; font-size: 12px; padding: 4px 5px; }
.summary-blocks .table { table-layout: auto; width: 100%; margin-bottom: 12px; }
.summary-blocks .small-box .inner p { font-size: 13px; }
.report-preview { max-width: 900px; margin: 0 auto; font-size: 14px; }
.report-preview li { margin-bottom: 4px; }
.slip-letterhead { display: grid; grid-template-columns: 130px 1fr 130px; align-items: center; gap: 12px; border-bottom: 3px double #1F3864; padding-bottom: 10px; }
.slip-letterhead.no-logo { grid-template-columns: 1fr; }
.slip-logo { display: block; margin: 0 auto; width: auto; height: auto; max-width: 130px; max-height: 120px; }
.slip-logo-spacer { width: 100%; }
.slip-school { flex: 1; min-width: 0; text-align: center; }
.slip-school-name { font-size: 22px; font-weight: 700; color: #1F3864; line-height: 1.2; }
.slip-contact { margin-top: 6px; font-size: 13px; color: #444; }
.slip-contact .fa { color: #1F3864; }
.slip-sep { margin: 0 8px; color: #bbb; }
.slip-contact-2 { margin-top: 2px; }
.slip-item { white-space: nowrap; display: inline-block; }
.slip-title { text-align: center; font-weight: 700; margin: 14px 0 4px; letter-spacing: .5px; }
@media (max-width: 600px) { .slip-letterhead { grid-template-columns: 70px 1fr; gap: 8px; } .slip-logo { max-width: 70px; max-height: 90px; } .slip-logo-spacer { display: none; } .slip-school-name { font-size: 17px; } .slip-sep { display: none; } .slip-item { display: block; white-space: normal; } }
@media print { .slip { padding: 0; } .slip-letterhead { grid-template-columns: 110px 1fr 110px; } .slip-logo { max-width: 110px; max-height: 105px; } .slip-contact .fa { color: #000; } }
@media print { .slip .table-responsive { overflow: visible; border: 0; } }
/* Result slip printing: one A4 portrait page, nothing but the slip */
@media print {
  @page { size: A4 portrait; margin: 10mm; }
  html, body { height: auto !important; min-height: 0 !important; background: #fff !important; }
  .wrapper, .content-wrapper, .content { min-height: 0 !important; height: auto !important; padding: 0 !important; margin: 0 !important; }
  .content-wrapper { margin-left: 0 !important; }
  .slip { max-width: none; width: 100%; padding: 0 !important; page-break-inside: avoid; break-inside: avoid; }
  .slip .box, .box-body { padding: 0 !important; margin: 0 !important; }
  .slip .table { margin-bottom: 8px; }
  .slip .table > tbody > tr > th, .slip .table > tbody > tr > td, .slip .table > thead > tr > th { padding: 3px 6px !important; font-size: 12px; }
  .slip-title { margin: 8px 0 2px; }
  .slip-result-line td, .slip-result-line th { border-top: 1px solid #ddd !important; }
  .alert, .callout { display: none !important; }
}
/* Larger, easier-to-read text on the result slip */
.slip { max-width: 920px; }
.slip { font-size: 16px; }
.slip .table > tbody > tr > th, .slip .table > tbody > tr > td, .slip .table > thead > tr > th { font-size: 16px; padding: 7px 8px; }
.slip .grade-pill { font-size: 16px; min-width: 36px; }
.slip-school-name { font-size: 26px; }
.slip-contact { font-size: 15px; }
.slip-title { font-size: 21px; }
.slip .stat-note { font-size: 13px; }
@media (max-width: 600px) {
  .slip { font-size: 15px; }
  .slip .table > tbody > tr > th, .slip .table > tbody > tr > td, .slip .table > thead > tr > th { font-size: 14px; padding: 5px 6px; }
  .slip-school-name { font-size: 18px; }
  .slip-contact { font-size: 13px; }
}
@media print {
  .slip { font-size: 15px; }
  .slip .table > tbody > tr > th, .slip .table > tbody > tr > td, .slip .table > thead > tr > th { font-size: 15px !important; padding: 5px 8px !important; }
  .slip .grade-pill { font-size: 15px; }
  .slip-school-name { font-size: 25px; }
  .slip-contact { font-size: 14px; }
  .slip-title { font-size: 20px; margin: 12px 0 6px; }
  .slip .stat-note { font-size: 12px; }
}
.method-bar { background: #fff; border-left: 4px solid #3c8dbc; padding: 8px 12px; margin-bottom: 14px; box-shadow: 0 1px 1px rgba(0,0,0,.1); }
.method-bar select { display: inline-block; width: auto; max-width: 100%; margin-left: 4px; }
/* Position and Aggregate line: labels and figures all the same size */
.slip .slip-result-line > tbody > tr > th, .slip .slip-result-line > tbody > tr > td { font-size: 18px !important; vertical-align: middle; }
.slip .slip-result-line .stat-note { font-size: 12px !important; }
@media print { .slip .slip-result-line > tbody > tr > th, .slip .slip-result-line > tbody > tr > td { font-size: 17px !important; } }
/* Core subjects by gender (layout of 2023_TO_2025.xlsx) */
.core-gender { width: 100%; }
.core-gender th, .core-gender td { text-align: center; vertical-align: middle !important; }
.core-gender thead th { background: #f4f4f4; }
.core-gender .cg-year { font-size: 16px; background: #fafafa; }
.core-gender .cg-total td { font-weight: 700; font-size: 15px; }
.core-gender .cg-sex td { color: #666; font-size: 12px; padding: 2px; }
.core-gender .cg-last td { border-bottom: 2px solid #999 !important; }
.core-gender .cg-last th { border-bottom: 2px solid #999 !important; }
/* Audit trail */
.audit-table tr.audit-row { cursor: pointer; }
.audit-table tr.audit-row td { vertical-align: top; font-size: 13px; }
.audit-table tr.status-failed { background: #fdf1f0; }
.audit-table tr.status-denied { background: #fff8e6; }
.audit-table tr.audit-detail > td { background: #f9fafc; border-top: 0; padding: 8px 16px 12px; }
.audit-changes { width: auto; min-width: 50%; max-width: 100%; margin-bottom: 8px; background: #fff; }
.audit-changes td, .audit-changes th { font-size: 12px; white-space: normal !important; }
.audit-old { color: #a94442; background: #fdf3f2; }
.audit-new { color: #2b6e2b; background: #f1f9f1; }
.audit-dt { font-weight: 600; margin: 6px 0 3px; font-size: 12px; text-transform: uppercase; color: #555; }
.audit-list { font-size: 12px; max-height: 120px; overflow: auto; background: #fff; border: 1px solid #eee; padding: 4px 6px; margin-bottom: 6px; }
.audit-meta { font-size: 11px; color: #888; margin: 6px 0 0; }
.audit-filter label { font-size: 12px; margin-bottom: 2px; }
