:root { --ink: #1c2330; --muted: #5d6778; --line: #d8dee7; --brand: #1f4e79; --bg: #eef2f6; --err: #b3261e; --ok: #1e6b3a; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; background: var(--bg);
       font: 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: var(--ink); padding: 16px; }
.card { width: 100%; max-width: 400px; background: #fff; border: 1px solid var(--line); border-radius: 12px;
        padding: 28px 28px 22px; box-shadow: 0 8px 30px rgba(20, 40, 70, .08); }
.brand { font-weight: 700; letter-spacing: .12em; text-transform: uppercase; font-size: 12px; color: var(--brand); }
h1 { font-size: 22px; margin: 6px 0 16px; }
label { display: block; font-weight: 600; font-size: 13px; margin-bottom: 12px; }
input { display: block; width: 100%; margin-top: 5px; padding: 10px 12px; font: inherit; border: 1px solid var(--line);
        border-radius: 8px; }
input:focus { outline: 2px solid #9cc0e4; border-color: var(--brand); }
button { width: 100%; padding: 11px; font: 600 15px inherit; font-family: inherit; color: #fff; background: var(--brand);
         border: 0; border-radius: 8px; cursor: pointer; margin-top: 4px; }
button:hover { background: #173d60; }
.msg { padding: 9px 12px; border-radius: 8px; font-size: 14px; }
.msg.err { background: #fdecea; color: var(--err); }
.msg.ok { background: #e7f4ec; color: var(--ok); }
.small { font-size: 13px; color: var(--muted); margin-top: 14px; }
a { color: var(--brand); }
