:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#172d35;background:#f3f5f5;font-size:14px;--green:#123e39;--accent:#ddac64;--muted:#6b7f83;--border:#dce4e4}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button,.button{border:0;border-radius:7px;padding:11px 17px;background:var(--green);color:white;font-weight:600;text-decoration:none;display:inline-flex;gap:8px;align-items:center;justify-content:center}button.secondary,.button.secondary{background:white;color:var(--green);border:1px solid var(--border)}button.quiet{background:transparent;color:var(--muted);padding:7px}input,select,textarea{background:#fff;border:1px solid #c8d4d5;border-radius:6px;padding:11px 12px;color:#172d35;min-width:0;width:100%}textarea{min-height:86px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#1e7564;outline:2px solid #1e756422}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#435d62}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;margin-bottom:9px}h2{font-size:20px}h3{font-size:15px}.muted{color:var(--muted);line-height:1.6}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-weight:700}.shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{background:#0f302e;color:white;padding:32px 20px;position:sticky;top:0;height:100vh;overflow:auto}.brand{font-size:23px;font-weight:750;letter-spacing:-.8px}.brand small{display:block;margin-top:9px;font-size:10px;letter-spacing:2.3px;color:#a4bcb6;font-weight:500}.brandmark{display:inline-grid;place-items:center;background:var(--accent);color:#153c34;border-radius:7px;width:31px;height:31px;margin-right:9px}.sidebar nav{margin-top:37px}.navgroup{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:#829e96;margin:26px 12px 9px}.navlink{display:block;color:#bfcec9;text-decoration:none;padding:11px 13px;border-radius:7px;font-size:13px;margin:3px 0}.navlink:hover{background:#ffffff0c}.navlink.active{background:#284e47;color:#fff;border-left:3px solid var(--accent)}.sidebarfoot{border-top:1px solid #ffffff19;margin-top:35px;padding:18px 12px;color:#8ca69e;font-size:11px;line-height:1.7}.workspace{min-width:0}.topbar{background:white;border-bottom:1px solid var(--border);padding:18px 36px;display:flex;justify-content:space-between;align-items:center;gap:15px}.user{display:flex;align-items:center;gap:15px;font-size:12px}.avatar{border-radius:50%;background:#e7eeeb;color:var(--green);height:34px;width:34px;display:grid;place-items:center;font-weight:700}.content{padding:36px;max-width:1600px;margin:auto}.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}.pagehead p{margin:0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.card,.panel{background:white;border:1px solid var(--border);border-radius:10px}.card{padding:23px}.card .value{font-size:32px;letter-spacing:-1px;font-weight:650;margin:14px 0 8px}.card .caption{font-size:11px;color:var(--muted)}.panel{padding:25px;margin-bottom:22px}.panelhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:16px}.panelhead h2{margin:0}.dashboardgrid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.searchrow,.toolbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.searchrow input{flex:1}.toolbar{margin-bottom:20px}.toolbar label:first-child{flex:1;min-width:200px}.toolbar label{min-width:145px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#718388;background:#f6f8f7;text-align:left;padding:14px}td{padding:14px;border-bottom:1px solid #eaf0ee}tbody tr:hover{background:#fafcfb}.ref{font-weight:650;color:#1c5c50}.badge{display:inline-block;padding:5px 9px;border-radius:5px;background:#edf3ef;color:#3d6a57;font-size:11px}.badge.warn{background:#fff3da;color:#8b642b}.empty{padding:45px 15px;text-align:center;color:var(--muted)}.empty strong{display:block;color:#3d585d;margin-bottom:10px}.quicklinks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quicklinks a{border:1px solid var(--border);padding:18px;border-radius:7px;color:var(--green);text-decoration:none;font-weight:600}.quicklinks a span{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:8px}.banner{background:#eef3ef;border:1px solid #d8e5db;padding:14px 17px;border-radius:7px;font-size:12px;color:#446755;line-height:1.6;margin-bottom:22px}.login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.loginintro{background:#103b34;color:white;padding:65px;display:flex;flex-direction:column;justify-content:space-between}.loginintro h1{font-size:54px;max-width:500px;line-height:1.12;margin-top:65px}.loginintro p{color:#a6bfb4;max-width:370px;line-height:1.9}.loginform{align-self:center;width:100%;max-width:450px;margin:auto;padding:35px}.loginform h2{font-size:28px;letter-spacing:-.6px}.loginform label{margin:22px 0}.loginform button{width:100%;margin-top:8px;padding:14px}.error{color:#ac3434;background:#fff1ef;border-radius:5px;padding:12px;font-size:12px;margin-bottom:15px}.loading{padding:50px;text-align:center}dialog{border:1px solid var(--border);border-radius:12px;padding:0;width:min(960px,94vw);max-height:90vh;color:#172d35}dialog::backdrop{background:#112c35a0;backdrop-filter:blur(3px)}.dialoghead{padding:24px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.dialoghead h2{margin:0}.formbody{padding:25px 28px}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.formgrid .wide{grid-column:1/-1}.formfooter{padding:20px 28px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px}.recordgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.recordfield span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.recordfield strong{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.printhead{display:none}#notice{position:fixed;bottom:24px;right:24px;background:#173e35;color:white;box-shadow:0 8px 30px #0002;padding:15px 22px;border-radius:8px;display:none;z-index:5}.footer{font-size:11px;color:#7f8f92;margin-top:36px;display:flex;justify-content:space-between}.statusdot{color:#5b9678}.mobilebrand{display:none}details.help{padding:20px;border-bottom:1px solid var(--border);line-height:1.8}summary{cursor:pointer;font-weight:650}.totals{padding:15px;font-weight:600;text-align:right;color:var(--green)}
@media(max-width:1100px){.shell{grid-template-columns:210px 1fr}.content{padding:25px}.cards{grid-template-columns:repeat(2,1fr)}.formgrid{grid-template-columns:repeat(2,1fr)}.dashboardgrid{grid-template-columns:1fr}.topbar{padding:18px 25px}}
@media(max-width:700px){.shell{display:block}.sidebar{position:static;height:auto;padding:18px}.sidebar nav{display:flex;overflow:auto;margin-top:18px;gap:6px}.navgroup,.sidebarfoot{display:none}.navlink{white-space:nowrap}.brand small{display:none}.topbar{padding:15px}.content{padding:20px 15px}.pagehead{align-items:flex-start;flex-direction:column}h1{font-size:26px}.card{padding:18px}.panel{padding:18px}.recordgrid,.formgrid{grid-template-columns:1fr}.login{display:block}.loginintro{padding:30px}.loginintro h1{font-size:32px;margin-top:30px}.loginintro p,.loginintro .eyebrow{display:none}.footer{display:block;line-height:1.8}.user .username{display:none}.toolbar label{width:100%}.quicklinks{grid-template-columns:1fr}.dialoghead,.formbody,.formfooter{padding:20px}}
@media print{body{background:white}.sidebar,.topbar,.toolbar,.pagehead button,.pagehead .button,.footer,#notice,dialog{display:none!important}.shell{display:block}.content{padding:0}.panel{border:0;padding:0}.printhead{display:block;border-bottom:2px solid #173e35;padding-bottom:18px;margin-bottom:25px}.pagehead{margin-top:20px}.tablewrap{overflow:visible}table{white-space:normal}.recordgrid{grid-template-columns:repeat(3,1fr)}button{display:none!important}}
