:root{--accent:#147d96;--ink:#2e4652;--muted:#718590;--line:#dce5e9;font-family:system-ui,-apple-system,"PingFang SC",sans-serif;color:var(--ink);font-size:13px;-webkit-tap-highlight-color:transparent}
*{box-sizing:border-box}
body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 30% 20%,#e3f0f4,#f5f8fa 55%,#eef3f6)}
.login-card{width:min(360px,100%);padding:32px 28px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(46,70,82,.12);display:flex;flex-direction:column}
.login-logo{width:36px;height:44px;object-fit:contain;margin:0 auto 8px}
h1{margin:0;text-align:center;font-size:18px;letter-spacing:.02em}
.login-hint{margin:8px 0 14px;text-align:center;color:var(--muted);font-size:12px;line-height:1.6}
#login-form{display:flex;flex-direction:column}
label{margin:10px 0 4px;color:var(--muted);font-size:12px}
input{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:16px;outline:none}
input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(20,125,150,.14)}
.login-remember{display:flex;align-items:center;gap:7px;margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.4;cursor:pointer;user-select:none}
.login-remember input{width:16px;height:16px;min-width:16px;margin:0;padding:0;border:0;background:none;box-shadow:none;accent-color:var(--accent);flex:none}
.login-error{margin:10px 0 0;color:#b42318;font-size:12px;line-height:1.5}
.login-submit{height:44px;margin-top:20px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;min-height:44px}
.login-submit:hover{background:#126a80}
.login-submit:disabled{opacity:.55;cursor:default}
@media (max-width:420px){body{padding:16px}.login-card{padding:28px 20px}}
