:root{color-scheme:light;--navy:#11284c;--green:#67b553;--muted:#5d6b7e;--line:#dce3e9;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--navy);background:#fff;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;display:flex;flex-direction:column;border-top:4px solid var(--green)}
.site-header{width:100%;max-width:1440px;margin:0 auto;padding:32px 64px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;text-decoration:none;color:var(--navy)}
.logo{display:block;max-width:230px;max-height:76px;object-fit:contain}
.brand-name{font-size:25px;font-weight:800;letter-spacing:-.8px;line-height:1.05}
.brand-name span{display:block;font-size:12px;letter-spacing:5.2px;color:#437d35;margin-top:7px}
.portal-label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:500;color:var(--muted)}
.status-dot{width:7px;height:7px;background:var(--green);border-radius:50%}
main{flex:1;display:grid;place-items:center;padding:46px 24px 60px}
.login-panel{width:100%;max-width:400px}
.eyebrow{font-size:10px;letter-spacing:1.65px;font-weight:750;margin:0 0 18px;color:#477f38}
h1{font-size:38px;line-height:1.15;letter-spacing:-1.3px;font-weight:650;margin:0 0 12px}
.intro{font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 32px}
.field{margin-bottom:21px}
label{display:block;font-size:13px;font-weight:650;margin-bottom:9px}
input{display:block;width:100%;height:52px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:0 14px;color:var(--navy);font:inherit;font-size:16px;transition:border-color .15s}
input:hover{border-color:#95a4b5}
input:focus-visible{outline:3px solid #67b55340;outline-offset:2px;border-color:#437d35}
button{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:52px;margin-top:8px;border:0;border-radius:7px;background:var(--green);color:var(--navy);font:inherit;font-size:15px;font-weight:750;cursor:pointer;transition:background .15s}
button:hover{background:#77c363}
button:focus-visible,a:focus-visible{outline:3px solid var(--navy);outline-offset:4px}
button span{font-size:21px;line-height:1}
.session-note{text-align:center;font-size:12px;color:var(--muted);margin:17px 0 0}
.funding-note{margin-top:38px;padding-top:27px;border-top:1px solid #e9edf1}
.accent-line{display:block;width:28px;height:3px;background:var(--green);margin-bottom:14px;border-radius:2px}
.funding-note p{font-size:16px;line-height:1.6;font-weight:550;margin:0 0 10px;max-width:355px}
.funding-note small{display:block;font-size:11px;line-height:1.6;color:var(--muted)}
.notice{background:#f2f7ef;border:1px solid #d2e4ca;border-radius:7px;padding:13px 14px;font-size:13px;line-height:1.5;margin-bottom:22px;color:var(--navy)}
.notice.error{background:#fff3f1;border-color:#e7bdb6;color:#883021}
footer{text-align:center;padding:22px 24px 28px;font-size:11px;color:var(--muted)}
@media(max-width:600px){.site-header{padding:24px}.logo{max-width:175px;max-height:62px}.brand-name{font-size:21px}.brand-name span{font-size:10px;letter-spacing:4.3px}.portal-label{font-size:11px;gap:6px}main{padding:30px 24px 40px}h1{font-size:34px}.eyebrow{font-size:9px;letter-spacing:1.3px}}
