
:root{--bg:#f6f5f0;--paper:#fffefa;--ink:#20372e;--muted:#6b756d;--green:#214c3b;--line:#e3e6dc;--accent:#dfebd6;--warning:#fff0cf;--danger:#a43c31;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:var(--green);text-underline-offset:4px}a:hover{color:#41765b}h1,h2,h3,p{margin:0 0 16px}h1{font-size:clamp(30px,4vw,46px);line-height:1.15;font-weight:650;letter-spacing:-1.5px}h2{font-size:21px;line-height:1.3;letter-spacing:-.4px}h3{font-size:17px}small{font-size:12px;color:var(--muted)}strong{font-weight:600}.site-header{max-width:1380px;padding:25px 40px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:700;text-decoration:none;letter-spacing:-.6px}.brand span{font-size:12px;font-weight:400;letter-spacing:0;border-left:1px solid #bdc5b8;padding-left:14px;margin-left:6px;color:var(--muted)}nav{display:flex;align-items:center;gap:26px}nav>a{text-decoration:none;font-size:14px}main{max-width:1300px;margin:auto;padding:42px 32px 64px;min-height:75vh}footer{max-width:1236px;margin:auto;padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.footer-actions{display:flex;align-items:center;gap:18px}.footer-actions form{margin:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.eyebrow{display:block;font-size:11px;letter-spacing:2px;font-weight:650;margin-bottom:13px;color:#677c67}.muted{color:var(--muted)}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button,button{font:inherit;cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--green);border-radius:9px;background:var(--green);color:white;padding:10px 19px;text-decoration:none;font-weight:550;font-size:14px;white-space:nowrap}.button:hover{background:#30634c;color:white}.button.secondary{background:transparent;border-color:#c7d1c0;color:var(--green)}.button.secondary:hover{background:#edf1e8}.button.small{min-height:36px;padding:7px 12px;font-size:12px}.button.wide{width:100%;margin-top:20px}.button:disabled{opacity:.45;cursor:not-allowed}.text-button{background:none;border:0;padding:4px 0;color:var(--green);text-decoration:underline;text-underline-offset:4px;font-size:13px}.danger,.error-text{color:var(--danger)}.month-bar{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-bottom:25px}.month-links{display:flex;gap:8px;overflow:auto}.month-links a{padding:7px 12px;border-radius:8px;text-decoration:none;white-space:nowrap;font-size:13px}.month-links .selected{background:var(--accent);font-weight:600}.month-links span{margin-left:8px}.inline-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline-form input,.inline-form select{width:auto;margin:0}.stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-bottom:26px}.stat{padding:25px 26px;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius)}.stat>span{font-size:13px;color:var(--muted)}.stat>strong{display:block;font-size:clamp(25px,2.7vw,35px);line-height:1.35;letter-spacing:-1px;margin:8px 0}.stat>strong small{font-size:15px;font-weight:400;letter-spacing:0}.stat.balance{background:var(--accent);border-color:var(--accent)}.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;align-items:start}.panel{background:var(--paper);padding:26px;border:1px solid var(--line);border-radius:var(--radius);min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.section-heading h2{margin:0}.badge{display:inline-block;border-radius:6px;background:#efeee7;padding:4px 9px;white-space:nowrap;font-size:11px;font-weight:600}.badge.success{background:var(--accent);color:#29503d}.badge.warning{background:var(--warning)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}td,th{padding:13px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}td:first-child,th:first-child{text-align:left;padding-left:0;white-space:normal;min-width:160px}th{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:600}td small{display:block}.total-row{font-weight:650;color:var(--green);background:#f4f6f0}.group-row{background:#eef2e8;font-weight:600}.group-row th{font-size:13px;text-transform:none;color:var(--green);letter-spacing:0}.group-row td,.group-row th{padding-top:17px;padding-bottom:17px}.group-row th:first-child{padding-left:12px}.indent{padding-left:25px!important}.caption{font-size:12px;color:var(--muted);margin-top:14px}.section-space{margin-top:24px}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.document-link{display:flex;gap:14px;justify-content:space-between;align-items:center;text-decoration:none;padding:17px 0;border-bottom:1px solid var(--line)}.document-link strong{font-size:14px;overflow-wrap:anywhere}.document-link small{display:block}.transfer-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.transfer-row small{display:block}.transfer-row form{margin:0}.empty{padding:50px;text-align:center}.empty p{color:var(--muted);max-width:450px;margin:0 auto}.message{border-radius:10px;padding:14px 18px;background:#eef1e7;margin-bottom:16px;font-size:14px}.message.error{background:#fbe8e1;color:#8e342c}.message.success{background:#e4efde}.message.warning{background:var(--warning)}.narrow{max-width:760px;margin:0 auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.form-grid .full{grid-column:1/-1}form>div,.field{margin-bottom:17px}label{display:block;font-weight:550;font-size:13px;margin-bottom:7px}input,select,textarea{font:inherit;background:white;border:1px solid #cdd4c6;border-radius:8px;padding:10px 12px;width:100%;color:var(--ink);min-height:44px}input:focus,select:focus,textarea:focus{outline:3px solid #d8e7ce;border-color:#6c8f63}input[type=checkbox]{width:18px;min-height:18px;height:18px;accent-color:var(--green);flex-shrink:0}.checkbox{display:flex;align-items:flex-start;gap:10px;font-weight:400}.helptext,form .helptext,form div>small{display:block;font-size:12px;margin-top:6px;color:var(--muted)}.errorlist{color:var(--danger);font-size:13px;list-style:none;padding:0;margin:8px 0}.review-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:start}.evidence{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 ui-monospace,monospace;background:#f3f4ed;border-radius:8px;padding:15px;max-height:450px;overflow:auto}.page-preview{width:100%;height:auto;border:1px solid var(--line)}details{margin-top:12px}summary{cursor:pointer;font-weight:550;font-size:14px;padding:8px 0}.duplicate{padding:16px 0;border-top:1px solid var(--line)}.duplicate small{display:block;margin:6px 0}.status-strip{display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-size:13px}.file-heading{font-size:30px;overflow-wrap:anywhere}.candidate{margin-top:14px}.candidate-heading{display:flex;align-items:flex-start;gap:14px}.candidate-heading small{display:block;margin-top:5px}.candidate-heading input{margin-top:5px}.candidate details{margin-top:14px}.candidate .section-heading{align-items:flex-start}.bulk-toolbar small{display:block;margin-top:10px}.bulk-toolbar input:not([type=checkbox]){max-width:240px}.instructions ol{padding-left:22px}.instructions li{padding:5px 0 10px 8px}.instructions li p{color:var(--muted);font-size:14px;margin-top:4px}.job-row{padding:10px 0;font-size:13px}.job-row p{margin:6px 0}.job-row form{margin:0}.login-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;max-width:1000px;margin:65px auto}.login-copy h1{font-size:clamp(38px,5vw,62px);line-height:1.12;margin:24px 0}.login-copy p{color:var(--muted);max-width:380px;font-size:17px}.quiet-note{margin-top:40px;font-size:13px;color:#76866c}.login-panel{padding:35px}.login-panel h2{font-size:25px}.login-panel form{margin-top:24px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.site-header{padding:20px 24px}.brand span{display:none}.dashboard-grid{grid-template-columns:1fr 1fr}.review-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start}.stats-grid{gap:10px}.stat{padding:20px}.login-layout{gap:40px}.panel{padding:22px}main{padding:32px 22px}footer{margin:0 22px}}
@media(max-width:640px){.site-header{flex-wrap:wrap;padding:16px 18px;gap:12px}.brand{font-size:23px}nav{gap:14px;font-size:12px;width:100%;justify-content:space-between}nav>a{font-size:13px}main{padding:28px 16px 40px}.page-heading{display:block}.page-heading .actions{margin-top:20px}.page-heading h1{font-size:33px}.stats-grid{grid-template-columns:1fr 1fr}.stat:first-child{grid-column:1/-1}.stat{padding:19px}.stat>strong{font-size:24px}.stat>strong small{font-size:11px}.stats-grid .stat:first-child>strong{font-size:36px}.dashboard-grid{grid-template-columns:1fr}.month-bar{display:block}.month-links{margin-bottom:12px}.month-bar .inline-form{justify-content:space-between}.month-bar input{max-width:170px}.panel{padding:20px;border-radius:14px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.login-layout{grid-template-columns:1fr;margin:12px auto;gap:24px}.login-copy h1{font-size:42px}.login-copy p{font-size:15px}.quiet-note{display:none}.login-panel{padding:25px}td,th{padding:12px 10px;font-size:12px}.summary td:first-child{min-width:130px}.footer-actions{gap:10px;flex-wrap:wrap}footer{align-items:flex-start;gap:20px}.section-heading{align-items:flex-start}.status-strip{gap:12px}.candidate .section-heading{display:block}.candidate .badge{margin-top:10px}.transfer-row{flex-wrap:wrap}.empty{padding:30px 20px}.file-heading{font-size:26px!important}}
.form-options{border-top:1px solid var(--line);padding-top:8px;margin:12px 0 20px}.form-options summary{padding:12px 0}.form-options[open] summary{margin-bottom:12px}input[readonly]{background:#f3f4ed}fieldset{min-width:0}@media(max-width:640px){input,select,textarea{font-size:16px}.form-grid>*,.candidate-heading>div{min-width:0}.actions .button{white-space:normal}}
@media(max-width:640px){nav{flex-wrap:wrap;column-gap:12px;row-gap:8px}footer{flex-wrap:wrap}.footer-actions{min-width:0}}
