:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1B2430;background:#F2F1EC;font-synthesis:none}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{min-height:100vh;min-height:100dvh;margin:0;display:grid;place-items:center;padding:28px 18px;background:radial-gradient(ellipse at 15% 15%,#E1ECE5 0,transparent 55%),#F2F1EC;line-height:1.5}
.login-card{width:min(460px,100%);overflow:hidden;border:1px solid #E1DFD6;border-radius:18px;background:#fff;box-shadow:0 22px 65px -25px #1B243038}
.login-hero{display:flex;gap:14px;align-items:center;padding:24px 28px;background:#1B302B;color:#fff}
.login-mark{width:44px;height:44px;flex:none;display:grid;place-items:center;border:1px solid #FFFFFF38;border-radius:12px;background:#FFFFFF12;font:600 15px ui-monospace,monospace}
.login-brand b{display:block;font:600 20px ui-monospace,monospace;letter-spacing:.2em}
.login-brand span{display:block;color:#C0D2CA;font-size:11px;margin-top:3px}
.login-badge{margin-left:auto;border:1px solid #FFFFFF30;border-radius:999px;padding:5px 9px;font-size:10px;white-space:nowrap;color:#C0D2CA}
.login-body{padding:28px}
.eyebrow{font-size:11px;font-weight:650;color:#1F6B4F;text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px}
h1{font-size:24px;line-height:1.25;letter-spacing:-.025em;margin:0 0 10px}
.intro{font-size:14px;color:#646D78;margin:0 0 22px}
.notice{font-size:13px;color:#646D78;margin:0 0 18px;padding:11px 12px;border:1px solid #E1DFD6;border-radius:9px;background:#FCFCFA;overflow-wrap:anywhere}
fieldset{border:0;padding:0;margin:0;min-width:0}
label{display:block;font-size:13px;font-weight:600;margin:0 0 7px}
input{width:100%;min-width:0;min-height:48px;padding:11px 13px;border:1px solid #CFCCBF;border-radius:9px;background:#FCFCFA;color:#1B2430;font-family:inherit;font-size:16px;margin:0 0 18px}
input:focus{outline:3px solid #E7F0EB;border-color:#1F6B4F;background:#fff}
.password-control{position:relative}
.password-control input{padding-right:80px}
.password-control button{position:absolute;right:6px;top:4px;min-height:40px;border:0;border-radius:6px;background:transparent;color:#1F6B4F;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;padding:8px}
button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible{outline:3px solid #96B8A7;outline-offset:3px}
.primary,.secondary{display:block;width:100%;min-height:48px;border-radius:9px;font-family:inherit;font-size:14px;font-weight:650;padding:12px 16px;cursor:pointer}
.primary{border:1px solid #1F6B4F;background:#1F6B4F;color:#fff}
.primary:hover:enabled{background:#185B42}
.secondary{margin-top:12px;border:1px solid #CFCCBF;background:#fff;color:#1B2430}
button:disabled{opacity:.65;cursor:wait}
.error{color:#A93227;background:#F6E9E7;border:1px solid #E7C9C4;border-radius:8px;padding:10px 12px;font-size:13px;margin:0 0 16px;overflow-wrap:anywhere}
.online-link{text-decoration:none;text-align:center;margin-top:12px}
.login-help{font-size:12px;line-height:1.6;color:#646D78;margin:19px 0 0}
footer{border-top:1px solid #EAE8E0;padding:16px 28px;font-size:11px;color:#727A85;background:#FCFCFA;text-align:center}
@media(max-width:420px){.login-body{padding:24px 20px}.login-hero{padding:22px 20px}.login-badge{display:none}h1{font-size:23px}}
