:root{font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;color:#233645;background:#f2f5f8}*{box-sizing:border-box}body{margin:0}a{color:#14688d;text-decoration:none}a:hover{text-decoration:underline}header{height:64px;display:flex;align-items:center;gap:24px;padding:0 24px;background:#115a78;color:white}header a{color:white}header span{margin-left:auto}.brand{font-size:1.4rem;font-weight:800}.layout{display:flex;min-height:calc(100vh - 64px)}nav{width:238px;flex-shrink:0;background:white;border-right:1px solid #dce5eb;padding:16px 8px}nav a{display:block;padding:10px 16px;border-radius:8px;color:#304d5e}nav a.active,nav a:hover{background:#dbf1f6;color:#074969}main{width:100%;max-width:1500px;padding:26px 32px;overflow:auto}h1{font-size:1.8rem;color:#115a78;margin:0 0 22px}h2{font-size:1.2rem;color:#155c78}h3{color:#155c78}section{margin:26px 0}.card{background:white;border:1px solid #dfE6ea;border-radius:12px;padding:20px;box-shadow:0 2px 10px #17374e09}.stats{display:flex;flex-wrap:wrap;gap:14px}.stats .card{min-width:130px;display:grid;gap:4px}.stats strong{font-size:2rem;color:#115a78}.stats small,.muted{color:#718591}.scroll{overflow:auto;background:white;border:1px solid #e0e8ee;border-radius:12px}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid #e8eef2;padding:10px 12px;vertical-align:top}th{background:#edf4f7;color:#37576a;white-space:nowrap}tr:hover td{background:#fafcfd}label{display:block;font-weight:600;margin-bottom:12px}input:not([type=checkbox]):not([type=hidden]):not([type=file]),select,textarea{display:block;border:1px solid #bacbd4;border-radius:7px;padding:10px;width:100%;max-width:650px;background:white;font:inherit;margin-top:5px}textarea{min-height:84px}input[type=file]{display:block;margin-top:6px}.check{display:flex;gap:10px;align-items:center;font-weight:500}button{font:inherit;font-weight:700;background:#16769a;color:white;border:0;border-radius:8px;padding:10px 17px;cursor:pointer;margin-top:8px}button:hover{background:#0c5675}button.secondary{background:#778996}.notice,.alert{padding:12px 16px;border-radius:8px;margin:14px 0}.notice{background:#e7f5ee;border:1px solid #b9dcc8}.alert{background:#fff2e8;border:1px solid #ffd1af}.login{max-width:420px;margin:8vh auto}.gridcards{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.chip{background:white;border:1px solid #b9cedb;border-radius:8px;padding:10px}.qa{padding:12px 18px;border-left:3px solid #ccdfe9;background:#f7fafb}.qa>div{padding:5px 0}#sign{width:100%;max-width:600px;height:190px;border:1px solid #b6ccd5;background:#fff;touch-action:none;border-radius:8px}.signature{width:300px;max-width:100%}pre{white-space:pre-wrap;overflow-wrap:anywhere}.report{background:white;padding:20px}.noprint{margin-top:16px}@media(max-width:800px){header{gap:8px;padding:10px;height:auto}header span{font-size:.82rem}.layout{display:block}nav{width:auto;display:flex;overflow-x:auto;padding:6px}nav a{white-space:nowrap;font-size:.85rem;padding:8px 10px}main{padding:14px}.scroll{margin:0 -8px}.card{padding:14px}h1{font-size:1.45rem}}@media print{header,nav,.noprint,button{display:none!important}.layout{display:block}main{padding:0;max-width:none}.scroll{overflow:visible}table{font-size:10pt}tr{break-inside:avoid}.report{padding:0}body{background:white}}

/* Dark-mode sign-in screen */
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 0%,#17314a 0%,#0b1020 58%);color:#e4eaf3;color-scheme:dark}
.login-page .login{width:min(100%,430px);max-width:none;margin:0;padding:32px;background:#121a2b;border:1px solid #29354b;border-radius:16px;box-shadow:0 24px 80px #0006}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.login-brand>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#123f50;color:#69d7df;font-size:25px}
.login-brand>div{display:flex;flex-direction:column;gap:1px}
.login-brand strong{color:#eff7ff;font-size:25px;line-height:1.2;letter-spacing:-.4px}
.login-brand small,.login-page .login>p:not(.login-alert){color:#9aa8bd;font-size:14px}
.login-page .login label{margin:0 0 15px;color:#cbd5e5;font-size:14px}
.login-page .login input:not([type=hidden]){width:100%;max-width:none;min-height:48px;margin-top:6px;padding:11px 13px;border:1px solid #37445c;border-radius:9px;background:#0b1221;color:#edf4ff;font:inherit}
.login-page .login input::placeholder{color:#7f8ca3}
.login-page .login input:focus-visible{outline:2px solid #53c9d4;outline-offset:2px;border-color:#53c9d4}
.login-page .login button{width:100%;min-height:48px;margin-top:7px;border-radius:9px;background:#15869b;color:#fff}
.login-page .login button:hover{background:#1a9aaf}
.login-page .login-alert{background:#3a202c;border:1px solid #75404a;color:#ffd7d7}
@media(max-width:480px){.login-page{padding:16px}.login-page .login{padding:25px 21px;border-radius:13px}}
