:root{color-scheme:light;--ink:#12343c;--muted:#70858a;--mint:#42dfb5;--line:#d9e6e1}
*{box-sizing:border-box}
body{margin:0;min-width:280px;background:#0b2730;color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",sans-serif;line-height:1.6}
button,input{font:inherit}
.login-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(ellipse at 15% 5%,#174f59 0,transparent 55%),radial-gradient(ellipse at 100% 100%,#16473e 0,transparent 50%)}
.login-card{width:100%;max-width:450px;padding:40px;background:#fff;border:1px solid #e1ebe7;border-radius:22px;box-shadow:0 24px 80px #00191f55}
.logo{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:var(--mint);color:#0b2730;font-size:27px;font-weight:900;margin-bottom:24px}
.eyebrow{margin:0 0 7px;color:#227d68;font-size:12px;font-weight:700}
h1{font-size:29px;line-height:1.35;letter-spacing:-.5px;margin:0}
.intro{margin:12px 0 28px;font-size:14px;color:var(--muted)}
.deadline{margin:-13px 0 24px;color:#547d70;font-size:12px;overflow-wrap:anywhere}
label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}
.password-field{display:flex;align-items:center;border:1px solid #c9dcd5;border-radius:9px;background:#f9fcfb;overflow:hidden}
.password-field:focus-within{border-color:#169f7d;box-shadow:0 0 0 3px #42dfb525}
input{min-width:0;width:100%;border:0;outline:0;padding:13px 14px;background:transparent;color:var(--ink);font-size:15px}
input::placeholder{color:#95a7a5}
.toggle-password{flex:none;padding:8px 12px;border:0;background:transparent;color:#287c68;font-size:12px;cursor:pointer}
.submit{margin-top:18px;width:100%;display:flex;justify-content:space-between;align-items:center;border:0;border-radius:9px;padding:13px 17px;background:var(--mint);color:#09392f;font-weight:700;cursor:pointer}
.submit:hover{background:#31d3a7}
.submit:disabled{opacity:.65;cursor:wait}
button:focus-visible{outline:3px solid #00a87980;outline-offset:2px}
.message{min-height:23px;margin:12px 0 0;color:#547d70;font-size:13px;overflow-wrap:anywhere}
.message.error{color:#b74f40}
footer{border-top:1px solid #e6eee9;padding-top:19px;margin-top:20px;color:#76908a;font-size:11px;text-align:center}
footer span{color:#8da09a}
@media(max-width:480px){.login-shell{padding:20px 14px}.login-card{padding:30px 24px;border-radius:18px}h1{font-size:26px}.eyebrow{font-size:11px}}
