*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,sans-serif;background:#0f172a;color:#e2e8f0;min-height:100vh;display:flex;align-items:center;justify-content:center}
.wrapper{width:100%;max-width:420px;padding:24px}
.logo{text-align:center;margin-bottom:32px}
.logo svg{width:48px;height:48px;margin-bottom:12px}
.logo h1{font-size:22px;font-weight:600;color:#f8fafc;letter-spacing:.5px}
.logo p{font-size:13px;color:#64748b;margin-top:4px}
.card{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:32px 28px;box-shadow:0 4px 24px rgba(0,0,0,.3)}
.field{margin-bottom:20px}
.field label{display:block;font-size:13px;font-weight:500;color:#94a3b8;margin-bottom:6px}
.field input{width:100%;padding:10px 14px;background:#0f172a;border:1px solid #334155;border-radius:8px;color:#f1f5f9;font-size:15px;outline:none;transition:border .2s}
.field input:focus{border-color:#3b82f6}
.field input::placeholder{color:#475569}
.remember{display:flex;align-items:center;gap:8px;margin-bottom:24px;font-size:13px;color:#94a3b8}
.remember input[type=checkbox]{accent-color:#3b82f6;width:16px;height:16px}
.btn{width:100%;padding:11px;background:#3b82f6;border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}
.btn:hover{background:#2563eb}
.btn:active{background:#1d4ed8}
.error-msg{display:none;background:#7f1d1d;border:1px solid #991b1b;color:#fca5a5;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px;text-align:center}
.error-msg.show{display:block}
.footer{text-align:center;margin-top:24px;font-size:12px;color:#475569}
.footer a{color:#64748b;text-decoration:none}
.footer a:hover{color:#94a3b8}
.page{max-width:640px;margin:0 auto;padding:40px 24px;line-height:1.7}
.page h1{color:#f8fafc;font-size:22px;margin-bottom:8px}
.page h2{color:#e2e8f0;font-size:16px;margin-top:28px;margin-bottom:8px}
.page p{margin-bottom:12px;font-size:14px}
.page a{color:#3b82f6;text-decoration:none}
.page a:hover{text-decoration:underline}
.back{display:inline-block;margin-bottom:24px;font-size:13px;color:#64748b}
.e404{text-align:center}
.e404 h1{font-size:72px;color:#334155;margin-bottom:8px}
.e404 p{font-size:15px;color:#64748b;margin-bottom:24px}
.e404 a{color:#3b82f6;text-decoration:none;font-size:14px}
.e404 a:hover{text-decoration:underline}
