:root{--navy:#153566;--red:#cd0f36;--red-dark:#a50c2b;--steel:#6f8197;--line:#e4e8ee}
*{box-sizing:border-box}
body{margin:0;background:#f6f8fb;color:#111;font-family:Inter,Arial,sans-serif}
.shell{min-height:100vh;display:grid;place-items:center;padding:32px 16px}
.panel{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px;box-shadow:0 18px 50px #15356614}
.brand{display:inline-flex;align-items:center;text-decoration:none;margin-bottom:28px}
.brand img{height:42px;width:auto;display:block}
.mark{display:none}
h1{font-size:30px;margin:0 0 8px;color:var(--navy)}
.sub{color:var(--steel);margin:0 0 24px;line-height:1.5}
label{display:block;font-size:13px;font-weight:700;margin:16px 0 7px}
input{width:100%;padding:12px;border:1px solid #cfd6df;border-radius:8px;font:inherit}
input:focus{outline:2px solid var(--red);border-color:var(--red)}
button,.button{width:100%;border:0;border-radius:8px;padding:13px;background:var(--red);color:#fff;font-weight:700;cursor:pointer;text-decoration:none;text-align:center;display:block;margin-top:22px}
button:hover,.button:hover{background:var(--red-dark)}
button:disabled{opacity:.6;cursor:not-allowed}
.links{display:flex;justify-content:space-between;gap:16px;margin-top:20px;font-size:14px}
a{color:var(--red)}
.message{display:none;margin-top:16px;padding:11px;border-radius:8px;background:#eef2f6;color:var(--navy);font-size:14px;line-height:1.45}
.message.error{background:#fff0f2;color:#9f1239}
.security{font-size:12px;color:var(--steel);margin-top:16px}
