:root{--slsu-navy:#060e4d;--slsu-blue:#6ca5d9;--bs-primary:#14246e;--bs-primary-rgb:20,36,110}body{background:#f5f7fb;color:#1e293b}.app-navbar{background:linear-gradient(110deg,var(--slsu-navy),#14246e);box-shadow:0 4px 18px rgba(6,14,77,.18)}.brand-mark{width:30px;height:30px;border-radius:9px;background:#fff;color:var(--slsu-navy);display:inline-flex;align-items:center;justify-content:center;font-weight:800}.brand-mark-lg{width:52px;height:52px;border-radius:14px;font-size:1.35rem}.navbar .nav-link{border-radius:.5rem;margin:0 .1rem}.navbar .nav-link.active,.navbar .nav-link:hover{background:rgba(255,255,255,.12);color:#fff}.card{border:0;border-radius:1rem}.stat-card{box-shadow:0 6px 24px rgba(15,23,42,.06)}.stat-icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#eef2ff;color:var(--slsu-navy);font-size:1.3rem}.table-card{box-shadow:0 5px 22px rgba(15,23,42,.055);overflow:hidden}.table>thead th{background:#f8fafc;color:#64748b;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.table td{vertical-align:middle}.btn{border-radius:.65rem}.form-control,.form-select{border-radius:.65rem;min-height:42px}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 10% 10%,#dceafe 0,transparent 30%),radial-gradient(circle at 90% 80%,#e9ddff 0,transparent 30%),#f7f9fd}.login-card{background:#fff;border-radius:1.35rem;padding:2rem;width:min(440px,100%)}.login-brand{display:flex;gap:1rem;align-items:center}.btn-google{border:1px solid #d6dbe5;background:#fff;color:#28313f;font-weight:600}.btn-google:hover{background:#f8fafc;border-color:#bdc5d1}.google-g{display:inline-flex;width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center;margin-right:.45rem;color:#4285f4;font-weight:800}.search-bar{max-width:420px}.badge{font-weight:600}.form-section{background:#fff;padding:1.25rem;border-radius:1rem;box-shadow:0 5px 22px rgba(15,23,42,.05);margin-bottom:1rem}@media(max-width:767.98px){.table-responsive .table{min-width:780px}.login-card{padding:1.4rem}.display-mobile-block{display:block!important}.action-stack{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.action-stack .btn{width:100%}}
.permission-option{border:1px solid #e2e8f0;border-radius:.8rem;padding:.85rem;background:#fff;min-height:78px;cursor:pointer}.permission-option:hover{background:#f8fafc;border-color:#cbd5e1}.permission-option .form-check-input{flex:0 0 auto}.report-sheet{background:#fff;border-radius:1rem;padding:1.25rem;box-shadow:0 5px 22px rgba(15,23,42,.055)}.report-heading{padding-bottom:1rem;border-bottom:2px solid #0f172a}.report-table{font-size:.82rem}.report-table th{vertical-align:middle}.signature-line{border-top:1px solid #334155;text-align:center;padding-top:.45rem;margin-top:2.5rem;font-size:.85rem}.report-signatures{page-break-inside:avoid}@media print{body{background:#fff!important;font-size:10pt}.app-navbar,.no-print,.alert{display:none!important}main.container-fluid{padding:0!important}.report-page{padding:0!important}.report-sheet{box-shadow:none!important;border-radius:0!important;padding:0!important}.report-table{font-size:8.5pt}.report-table th,.report-table td{padding:.28rem!important}.table-responsive{overflow:visible!important}.table-responsive .table{min-width:0!important;width:100%!important}.report-heading{margin-top:0}.report-signatures{margin-top:1rem!important}@page{size:A4 landscape;margin:10mm}}

/* Standalone printable report view: intentionally excludes the application navigation. */
.standalone-report-body{background:#eef2f7;color:#1e293b;margin:0}.standalone-report-main{width:min(1400px,calc(100% - 32px));margin:0 auto;padding:18px 0 28px}.print-toolbar{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:12px}.report-page-standalone .report-sheet{border-radius:.5rem}.report-page-standalone .table-responsive{overflow:visible}.report-page-standalone .table-responsive .table{min-width:0;width:100%}.report-page-standalone .report-table{font-size:.76rem}
@media(max-width:900px){.standalone-report-main{width:100%;padding:10px}.report-page-standalone .report-table{font-size:.68rem}.report-page-standalone .report-table th,.report-page-standalone .report-table td{padding:.3rem}}
@media print{.standalone-report-body,.standalone-report-main{background:#fff!important;width:100%!important;margin:0!important;padding:0!important}.print-toolbar{display:none!important}}

/* Report print hotfix v3: clean print page, no toolbars or horizontal scrollbars. */
.report-table-wrap{width:100%;max-width:100%;overflow:visible}
.report-table-wrap-screen{overflow-x:auto;-webkit-overflow-scrolling:touch}
.signature-block{text-align:center;margin-top:2.25rem;page-break-inside:avoid}
.signature-space{height:2.2rem}
.signature-person{border-top:1px solid #334155;padding-top:.35rem;font-weight:700;line-height:1.15;min-height:1.5rem}
.signature-designation{font-size:.78rem;color:#475569;min-height:1rem;margin-top:.1rem}
.signature-label{font-size:.78rem;margin-top:.2rem;color:#334155}
.report-print-error{background:#fff;border:1px solid #fecaca;padding:1.25rem;border-radius:.5rem;margin-top:1rem}

@media print{
  html,body{width:100%!important;max-width:100%!important;overflow:visible!important}
  .no-print,.print-toolbar,.modal,.modal-backdrop,button,.btn{display:none!important}
  .standalone-report-main,.report-page,.report-page-standalone,.report-sheet{width:100%!important;max-width:none!important;overflow:visible!important}
  .report-table-wrap,.report-table-wrap-screen,.table-responsive{display:block!important;width:100%!important;max-width:100%!important;overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important}
  .report-table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;font-size:7.2pt!important}
  .report-table th,.report-table td{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;padding:2.5px 3px!important;line-height:1.12!important}
  .report-table th:nth-child(1){width:3%}.report-table th:nth-child(2){width:9%}.report-table th:nth-child(3){width:12%}.report-table th:nth-child(4){width:9%}.report-table th:nth-child(5){width:9%}.report-table th:nth-child(6){width:8%}.report-table th:nth-child(7){width:9%}.report-table th:nth-child(8){width:13%}.report-table th:nth-child(9){width:10%}.report-table th:nth-child(10){width:8%}.report-table th:nth-child(11){width:10%}
  .report-signatures{margin-top:8mm!important;page-break-inside:avoid!important}
  .signature-space{height:8mm}
  .signature-person{font-size:9pt}
  .signature-designation,.signature-label{font-size:7.5pt}
  @page{size:A4 landscape;margin:8mm}
}


/* Report signature layout hotfix v5: labels above signature areas and printed names. */
.signature-label-top{font-weight:700;text-align:left;margin:0 0 .15rem;color:#1e293b}
.signature-block{max-width:360px;margin-left:auto;margin-right:auto}
.signature-space{height:3.5rem}
.signature-person{border-top:1px solid #334155;padding-top:.35rem;font-weight:700;line-height:1.15;min-height:1.5rem;text-transform:uppercase}
@media print{
  .signature-label-top{font-size:8.5pt!important;margin-bottom:1mm!important}
  .signature-space{height:14mm!important}
  .signature-block{max-width:80mm!important}
  .signature-person{font-size:9pt!important}
}

/* User designation + signature spacing hotfix v6 */
.signature-space{height:5.75rem!important}
.signature-office{font-size:.72rem;color:#64748b;min-height:.9rem;margin-top:.08rem}
@media print{
  .signature-space{height:22mm!important}
  .signature-office{font-size:7pt!important;color:#475569!important}
}

/* Signature gap hotfix v7: explicit dedicated blank row for handwritten signature. */
.signature-row-gap{display:block;height:88px;min-height:88px;width:100%;}
@media print{
  .signature-row-gap{display:block!important;height:24mm!important;min-height:24mm!important;width:100%!important;}
}
