*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Microsoft YaHei",sans-serif;background:#f8fafc;color:#334155;min-height:100vh}
.login{width:440px;max-width:calc(100% - 32px);margin:40px auto;padding:28px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 28px #0000000a}
.login h1{margin:0 0 24px;color:#1e293b;font-size:28px;line-height:1.25;text-align:center}
.login form{display:flex;flex-direction:column}
.login label[for]{display:block;margin:0 0 8px;color:#475569;font-size:15px;font-weight:600;line-height:1.3}
input,select,button{font-family:inherit}
.login select,.login input[type=password]{display:block;width:100%;min-width:0;height:46px;margin:0 0 18px;padding:0 12px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#1e293b;font-size:16px}
.login select:focus,.login input:focus{outline:2px solid #93c5fd;outline-offset:2px}
.remember-device{display:flex;align-items:center;gap:10px;min-height:44px;margin:0 0 16px;color:#475569;font-size:15px;line-height:1.4;cursor:pointer}
.remember-device input{width:22px;height:22px;flex:0 0 22px;margin:0;accent-color:#3b82f6;cursor:pointer}
.login button{display:block;width:100%;height:48px;padding:0 16px;border:0;border-radius:8px;background:#3b82f6;color:#fff;font-size:16px;font-weight:700;cursor:pointer}
.login button:hover{background:#2563eb}
.login button:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}
.error{margin:0 0 18px;color:#dc3545;font-size:14px;line-height:1.4}
@media(max-width:600px){.login{margin:20px auto;padding:20px}.login h1{font-size:26px}.remember-device{font-size:14px}}
@media(max-height:600px){.login{margin-top:20px;margin-bottom:20px}}

.remember-device{gap:0}.remember-device input{margin-right:10px}
