body { font-family: Arial, sans-serif; background: #f4f7fb; margin: 0; padding: 40px 20px; }
.card { max-width: 420px; margin: 0 auto; background: #fff; padding: 32px; border-radius: 8px; box-shadow: 0 2px 12px rgba(0,0,0,0.08); }
h1 { color: #0072C6; margin-top: 0; }
p.lead { color: #555; font-size: 0.95em; }
label { display: block; margin-top: 14px; font-size: 0.92em; color: #444; }
input { width: 100%; padding: 9px 10px; margin-top: 4px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; font-size: 1em; }
button { width: 100%; margin-top: 22px; padding: 11px; background: #0072C6; color: #fff; border: none; border-radius: 4px; font-size: 1em; cursor: pointer; }
button:hover { background: #005a9e; }
button:disabled { background: #aaa; cursor: not-allowed; }
.msg { margin-top: 16px; padding: 10px 14px; border-radius: 4px; font-size: 0.95em; display: none; }
.msg.error { background: #ffeaea; border: 1px solid #f0a0a0; color: #a00; display: block; }
.msg.success { background: #eaffea; border: 1px solid #8ac88a; color: #060; display: block; }
.links { margin-top: 22px; text-align: center; font-size: 0.9em; }
.links a { color: #0072C6; text-decoration: none; }
.links.split { display: flex; justify-content: space-between; }
.hint { font-size: 0.82em; color: #888; margin-top: 4px; }
