:root{font-family:"Segoe UI",Arial,sans-serif;color:#183b24;background:#f8fbf1;color-scheme:light;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse at 50% 17%,#c7ee79 0%,#e4f6bd 33%,#f5fbeb 67%,#fff 100%)}
.login{width:min(330px,calc(100% - 40px));margin:auto;text-align:center;padding:58px 0 25px}
.logo{display:block;width:264px;max-width:100%;height:auto;margin:0 auto 34px}
.fields{overflow:hidden;border:1px solid #b7d59b;border-radius:7px;background:#fff;box-shadow:0 8px 28px #1b4f2120;text-align:left}
input{display:block;width:100%;height:52px;border:0;border-radius:0;background:#fff;color:#183b24;font:16px "Segoe UI",Arial,sans-serif;padding:0 16px;outline:none}
input::placeholder{color:#657663;opacity:1;font-size:14px}
input:focus{box-shadow:inset 0 0 0 2px #48793e}
.password-row{position:relative;border-top:1px solid #dfebd5}
.password-row input{padding-right:48px}
button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.reveal{position:absolute;right:1px;top:1px;bottom:1px;width:46px;border:0;background:transparent;color:#45654a;border-radius:5px}
.reveal svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;vertical-align:middle}
.reveal:hover{background:#eaf5df;color:#163f28}
.submit,.home-link{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:49px;margin-top:16px;padding:10px 18px;border:1px solid #17452a;border-radius:7px;background:#174f31;color:#fff;font-size:15px;font-weight:600;text-decoration:none;box-shadow:0 5px 16px #174f3129;transition:background .15s,box-shadow .15s}
.submit span{font-size:21px;font-weight:400;line-height:1}
.submit:hover,.home-link:hover{background:#0f3c25;box-shadow:0 7px 18px #174f3135}
.submit:active,.home-link:active{background:#0b321e}
button:focus-visible,a:focus-visible{outline:3px solid #315e26;outline-offset:3px}
.reveal:focus-visible{outline-offset:-3px}
.login-error{margin:18px 0 0;padding:12px 14px;border:1px solid #d9b0a7;border-radius:7px;background:#fff8f5;color:#8c2d25;box-shadow:0 3px 12px #1b4f2110;font-size:14px;line-height:1.45}
.status-title{font-size:23px;font-weight:600;margin:0 0 12px;color:#173e28}
.status-text{font-size:15px;line-height:1.55;margin:0 0 24px;color:#365540}
.home-link{margin-top:0}
footer{padding:20px 20px 25px;text-align:center;color:#3f6547;font-size:12px;line-height:1.5}
.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-height:560px){.login{padding-top:22px}.logo{width:215px;margin-bottom:20px}footer{padding-top:10px;padding-bottom:14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
