/* North Olmsted Patrol Operations · application identity, not an official seal. */
.minimizable-panel[hidden]{display:none!important}
.payroll-print-day-note td{font-size:8pt;text-align:left!important;white-space:normal;overflow-wrap:anywhere;padding:3px 6px!important}
@media screen{
 :root{--navy:#102a43;--navy2:#2d5572;--gold:#b89550}
 .sidebar{background:#102a43}
 .brand{gap:12px;padding:5px 4px 18px;margin-bottom:12px}
 .app-brand-mark{object-fit:contain;flex:none}
 .brand .app-brand-mark{width:52px;height:52px;background:#f4f6f8;border:1px solid #d5bc88;border-radius:13px;padding:4px}
 .brand h1{font-size:16px;line-height:1.2;letter-spacing:-.015em;font-weight:750}
 .brand small{display:block;font-size:11px;line-height:1.5;margin-top:5px;color:#c0d0de;opacity:1}
 .nav button{display:flex;align-items:center;gap:11px;font-size:14px;line-height:1.4;font-weight:600;padding:10px;border-left:3px solid transparent}
 .nav .ui-icon{width:19px;height:19px;flex:none;color:#a8c3d7}
 .nav button.active{background:#234660;border-left-color:#d4b573;color:white}
 .nav button.active .ui-icon{color:#e4c991}
 .nav button:hover{background:#1c3b54}
 .nav button:focus-visible{outline:2px solid #e4c991;outline-offset:2px}
 .topbar{border-bottom-color:#d4dfe8}
 .topbar-title{font-weight:800;letter-spacing:.055em}
 .topbar-sub{letter-spacing:.015em}
 .page-heading{display:flex;align-items:center;gap:14px;min-width:0}
 .page-heading>div{min-width:0}
 .page-icon{display:grid;place-items:center;width:46px;height:46px;flex:none;background:#edf3f7;border:1px solid #cfdde7;border-bottom:3px solid #b89550;border-radius:12px;color:#2d5572}
 .page-icon .ui-icon{width:26px;height:26px}
 .page-head .subtle{line-height:1.55}
 .section-title{gap:12px;flex-wrap:wrap}
 .section-title h2{margin:0}
 .section-title .btn{min-height:38px;font-size:13px}
 .card>.section-title:first-child{margin-top:0}
 .department-masthead{min-height:116px;padding:20px 24px!important;border:1px solid #304f69!important;border-radius:16px;background:#102a43 url('/assets/nopd-header.webp') center/cover;color:#fff;box-shadow:0 5px 18px #102a4310}
 .department-masthead .app-brand-mark{width:64px;height:64px;background:#f3f6f8;border:1px solid #dfc48a;border-radius:15px;padding:6px;mix-blend-mode:normal!important}
 .department-masthead>div>b{color:#fff;font-size:20px;letter-spacing:-.02em}
 .department-masthead>div>span,.department-platoon{color:#d3e1eb!important}
 .department-platoon b{color:#f1d497!important}
 .department-platoon{white-space:nowrap}
 .dashboard-page .page-head .page-icon{display:none}
 .login-wrap{background:#102a43 url('/assets/nopd-header.webp') center/cover}
 .login-card{border:1px solid #cad7e2;border-top:4px solid #b89550;border-radius:18px;padding:30px}
 .login-identity{display:flex;align-items:center;gap:16px;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--line)}
 .login-identity .app-brand-mark{width:76px;height:76px;background:#f3f6f8;border-radius:16px;padding:4px}
 .login-identity b{display:block;color:var(--text);font-size:16px;letter-spacing:.07em}
 .login-identity span{display:block;color:var(--muted);font-size:11px;letter-spacing:.13em;margin-top:6px}
 .mobile-nav .ui-icon{width:22px;height:22px}
 #mobileMenu nav button{display:flex;align-items:center;gap:12px}
 #mobileMenu nav .ui-icon{flex:none;width:21px;height:21px;color:#2d5572}
 .dark .page-icon{background:#1a354a;color:#c5dced;border-color:#3b5468;border-bottom-color:#b89550}
 .dark #mobileMenu nav .ui-icon{color:#c5dced}
 .dark .login-card{border-color:#385267;border-top-color:#b89550}
 .large .nav button{font-size:18px;padding:13px 10px}
 .large .nav .ui-icon{width:22px;height:22px}
 .large .page-icon{width:52px;height:52px}
 @media(max-width:700px){
  .department-masthead{padding:16px!important;gap:12px;min-height:100px}
  .department-masthead .app-brand-mark{width:50px;height:50px;border-radius:12px}
  .department-masthead>div>b{font-size:16px;line-height:1.35}
  .department-masthead>div>span{font-size:12px;line-height:1.5}
  .department-masthead .department-platoon{display:none}
  .page-heading{gap:10px;align-items:flex-start}
  .page-icon{width:38px;height:38px;border-radius:10px}
  .page-icon .ui-icon{width:23px;height:23px}
  .login-card{padding:24px}
 }
 @media(prefers-reduced-motion:reduce){.nav button,.btn,.card{transition:none}}
}
@media print{
 .minimizable-panel[hidden]{display:block!important}
 .page-icon,.app-brand-mark,.department-masthead{display:none!important}
}
/* Long correction notes continue onto another page instead of clipping evidence. */
@media print{
 body.payroll-report-print .payroll-print-page{max-height:none!important;overflow:visible!important}
 .payroll-print-table thead{display:table-header-group}
 .payroll-print-table tr{break-inside:avoid}
 .payroll-print-table tr[data-payroll-date]{break-after:avoid}
}
@media print{html{background:#fff!important}}
