:root{--charge-green:#73bf44;--charge-green-dark:#4f922a;--charcoal:#222;--ink:#282828;--muted:#686d69;--surface:#fff;--canvas:#f5f6f5;--line:#dfe2df;--error:#a33434}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}h1,h2,p{letter-spacing:0}.companyStrip{background:var(--charcoal);color:#f5f5f5;text-transform:uppercase;border-top:4px solid #233747;justify-content:space-between;align-items:center;min-height:44px;padding:0 max(24px,50vw - 550px);font-size:11px;font-weight:700;display:flex}.companyStripContext{color:#bfc2bf;text-transform:none;font-weight:400}.loginPage{background:var(--surface);grid-template-rows:auto auto 1fr;min-height:100svh;display:grid}.loginHeader{border-bottom:1px solid var(--line);justify-content:center;align-items:center;min-height:150px;padding:20px 24px;display:flex}.loginLogo{max-width:230px;height:auto}.loginContent{background:linear-gradient(to bottom, var(--canvas) 0, var(--canvas) 82px, var(--surface) 82px);justify-content:center;align-items:start;padding:48px 24px 72px;display:flex}.loginPanel{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--charge-green);border-radius:4px;width:min(100%,430px);padding:34px 36px 38px;box-shadow:0 12px 30px #14191614}.loginHeading{margin-bottom:28px}.loginHeading h1{margin:0 0 10px;font-size:27px;line-height:1.2}.loginHeading>p:last-child{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.eyebrow{color:var(--charge-green-dark);text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}.loginForm{gap:19px;display:grid}.formField{gap:8px;display:grid}.formField label{font-size:13px;font-weight:700}.formField input{background:var(--surface);color:var(--ink);border:1px solid #aeb4af;border-radius:3px;width:100%;min-width:0;height:46px;padding:0 12px}.formField input:focus{border-color:var(--charge-green-dark);outline:none;box-shadow:0 0 0 3px #73bf442b}.passwordField{position:relative}.passwordField input{padding-right:48px}.passwordToggle{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:absolute;top:2px;right:2px}.passwordToggle:hover{color:var(--ink)}.formError{border-left:3px solid var(--error);color:var(--error);background:#fff3f3;margin:0;padding:10px 12px;font-size:13px;line-height:1.45}.primaryButton{background:var(--charge-green);border:1px solid var(--charge-green-dark);color:#172014;cursor:pointer;border-radius:3px;justify-content:center;align-items:center;gap:9px;width:100%;height:47px;margin-top:3px;padding:0 18px;font-size:14px;font-weight:800;display:flex}.primaryButton:hover{background:#80ca52}.primaryButton:disabled{cursor:wait;opacity:.7}.appShell{min-height:100svh}.appHeader{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:104px;padding:10px max(24px,50vw - 550px);display:flex}.appLogoLink{align-items:center;display:flex}.appLogo{width:146px;height:auto}.appNav{align-items:center;gap:30px;display:flex}.appNav>a,.signOutButton{color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:9px 0;font-size:13px;font-weight:700;text-decoration:none;display:flex}.appNav>a:hover,.signOutButton:hover{color:var(--charge-green-dark)}.sectionBand{background:var(--charcoal);color:#f2f2f2;text-transform:uppercase;align-items:center;height:46px;padding:0 max(24px,50vw - 550px);font-size:12px;font-weight:700;display:flex}.reportDirectory,.reportPage{max-width:1100px;margin:0 auto;padding:52px 24px 80px}.sectionHeading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;margin-bottom:0;padding-bottom:27px;display:flex}.sectionHeading h1,.reportPageHeader h1{margin:0;font-size:34px;line-height:1.15}.sectionIntro,.reportPageHeader>p:last-child{color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.55}.reportCount{color:var(--muted);white-space:nowrap;margin:0;font-size:12px}.reportList{border-bottom:1px solid var(--line)}.reportRow{background:var(--surface);border-left:3px solid #0000;border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:24px;min-height:112px;padding:22px 24px 22px 21px;text-decoration:none;transition:background-color .12s,border-color .12s;display:grid}.reportRow:first-child{border-top:0}.reportRow:hover{border-left-color:var(--charge-green);background:#fbfcfb}.reportRowBody h2{margin:0 0 7px;font-size:17px;line-height:1.3}.reportRowBody p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.reportStatus{color:var(--muted);white-space:nowrap;font-size:12px}.reportArrow{color:var(--charge-green-dark)}.backLink{color:var(--muted);align-items:center;gap:7px;margin-bottom:30px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.backLink:hover{color:var(--charge-green-dark)}.reportPageHeader{border-bottom:1px solid var(--line);padding-bottom:28px}.emptyReport{background:var(--surface);border:1px solid var(--line);border-radius:4px;align-items:flex-start;gap:16px;margin-top:28px;padding:25px;display:flex}.emptyReportMarker{background:var(--charge-green);flex:0 0 4px;height:42px}.emptyReport h2{margin:0 0 6px;font-size:16px}.emptyReport p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}@media (max-width:640px){.companyStrip{min-height:40px;padding:8px 18px}.companyStripContext{display:none}.loginHeader{min-height:126px}.loginLogo{max-width:190px}.loginContent{padding:30px 18px 48px}.loginPanel{padding:28px 24px 32px}.appHeader{height:84px;padding:8px 18px}.appLogo{width:110px}.appNav{gap:18px}.signOutButton{justify-content:center;width:40px;height:40px;font-size:0}.sectionBand{height:42px;padding:0 18px}.reportDirectory,.reportPage{padding:36px 18px 60px}.sectionHeading{flex-direction:column;align-items:flex-start;gap:14px}.sectionHeading h1,.reportPageHeader h1{font-size:29px}.reportRow{grid-template-columns:minmax(0,1fr) 20px;gap:12px;padding:20px 16px 20px 13px}.reportStatus{grid-area:2/1}.reportArrow{grid-area:1/2/span 2}}
