.portal-locked #portal-shell{display:none!important}
#portal-gate[hidden]{display:none}
#portal-gate{min-height:100svh;display:grid;grid-template-columns:1.1fr 1fr;background:#0b1e19;color:#f7f5f8;padding:clamp(26px,6vw,100px);gap:clamp(30px,7vw,100px);align-items:center}
.portal-intro{max-width:600px;position:relative}.portal-login-logo{width:110px;height:auto;filter:invert(1);margin-bottom:58px}.portal-intro .eyebrow{color:#94c9ac;font-size:11px;letter-spacing:.22em}.portal-intro h1{font-size:clamp(44px,4.5vw,76px);line-height:1.04;letter-spacing:-.055em;margin:18px 0 22px}.portal-intro h1 span{color:#b5d8bd}.portal-intro>p{font-size:17px;color:#aaa7b3;line-height:1.65;max-width:400px}.portal-login-art{height:230px;width:260px;object-fit:contain;mix-blend-mode:screen;display:block;margin:18px 0 -25px;transform:rotate(-7deg)}
.portal-login-card{width:100%;max-width:450px;justify-self:center;background:linear-gradient(145deg,#1d382e,#13291f);border:1px solid #ffffff13;box-shadow:0 30px 100px #0004;border-radius:28px;padding:44px}.portal-login-card .eyebrow{color:#94c9ac;letter-spacing:.16em;font-size:10px;margin:0 0 24px}.portal-login-card h2{font-size:30px;letter-spacing:-.04em;margin:0 0 12px}.portal-login-card>p{color:#a6a3af;line-height:1.6;font-size:14px}.portal-login-card form{display:grid;gap:20px;border:0;background:none;padding:20px 0 0;margin:0}.portal-login-card label{display:grid;gap:9px;color:#d6d2da;font-size:12px;font-weight:600}.portal-login-card input{height:49px;width:100%;border:1px solid #456653;background:#0c2119;border-radius:11px;padding:12px;color:white;font-size:15px}.portal-login-card input:focus{outline:2px solid #b5d8bd;outline-offset:2px}.portal-password-wrap{position:relative}.portal-password-wrap input{padding-right:67px}.portal-password-wrap button{position:absolute;right:5px;top:5px;height:39px;background:none;border:0;color:#c8bfcd;font-size:12px;padding:0 12px}.portal-login-card button[type=submit]{height:49px;background:#b5d8bd;border:0;color:#123a2b;border-radius:11px;font-size:14px;font-weight:700}.portal-login-card button:disabled{opacity:.6}.portal-login-help{font-size:12px!important;text-align:center;margin:24px 0 0}.portal-login-help a{color:#d9eadf}.portal-login-credit{margin:30px 0 0!important;text-align:center;font-size:11px!important}.portal-login-credit strong{color:#d0cad5}#portal-login-message{font-size:13px;color:#c4dfc9;line-height:1.5;margin:0;min-height:20px}
.portal-session{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px 24px;border-bottom:1px solid var(--line,#333);font-size:11px;color:var(--muted,#aaa)}.portal-session button{background:transparent;border:1px solid var(--line,#333);color:inherit;border-radius:8px;padding:7px 10px;font-size:11px}.portal-session #portal-account-label{margin-right:auto}.portal-import{padding:12px 18px;margin-bottom:18px;border:1px solid #6c5060;border-radius:13px;background:#94c9ac0a;font-size:12px}.portal-import button{margin-left:12px}.portal-import[hidden]{display:none}
body[data-client-only=true] .back{display:none}body[data-client-only=true] .layout{min-height:100svh}
@media(max-width:750px){#portal-gate{grid-template-columns:1fr;padding:36px 22px;gap:28px}.portal-login-logo{width:86px;margin-bottom:25px}.portal-intro h1{font-size:42px}.portal-intro>p{font-size:14px;margin-bottom:0}.portal-login-art{display:none}.portal-login-card{padding:28px;border-radius:22px;max-width:none}.portal-intro{max-width:none}.portal-login-card .eyebrow{margin-bottom:18px}}

#portal-gate{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(ellipse at 16% 80%,#214e38 0,transparent 55%),#0b1e19}.portal-login-logo{width:220px;max-height:100px;object-fit:contain;object-position:left;filter:none;margin-bottom:58px}.portal-intro h1{font-family:inherit}.portal-login-art{width:180px;height:180px;transform:none;mix-blend-mode:normal;margin:24px 0 0;opacity:.8}.portal-login-card h2{font-family:inherit}.portal-session .staff-link{display:none;color:inherit;margin-right:12px}.portal-staff .portal-session .staff-link{display:inline}.portal-session #portal-account-label{margin-right:auto}.portal-login-help a{white-space:nowrap}#reports .reports{grid-template-columns:1fr}#reports .reports>.card:nth-child(2){display:none}body:not(.portal-staff) #reports #csv{display:none}@media(max-width:750px){.portal-login-logo{width:185px;margin-bottom:28px}.portal-login-art{display:none}.portal-session{padding:12px 18px}.portal-intro h1{font-size:42px}}

.portal-login-art{mix-blend-mode:lighten;border-radius:24px}
