* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body { font: 15px/1.45 system-ui, -apple-system, 'Segoe UI', sans-serif; color: #18181b; background: #f4f4f5; display: flex; align-items: center; justify-content: center; padding: 16px; }
.card { width: 100%; max-width: 380px; background: #fff; border: 1px solid #e4e4e7; border-radius: 14px; padding: 28px 28px 24px; box-shadow: 0 10px 40px rgba(0,0,0,.06); }
.brand { font-size: 15px; color: #52525b; margin-bottom: 18px; }
.brand b { color: #e3051b; }
h1 { font-size: 22px; margin: 0 0 4px; }
.hint { color: #71717a; margin: 0 0 18px; font-size: 14px; }
form { display: flex; flex-direction: column; gap: 12px; }
label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: #52525b; }
label[hidden] { display: none; }
input { font: inherit; padding: 10px 12px; border: 1px solid #d4d4d8; border-radius: 8px; color: #18181b; }
input:focus { outline: 2px solid #e3051b33; border-color: #e3051b; }
input[readonly] { background: #f4f4f5; color: #52525b; }
button { font: inherit; padding: 11px; border: 0; border-radius: 8px; background: #e3051b; color: #fff; font-weight: 600; cursor: pointer; }
button:disabled { opacity: .6; cursor: default; }
button.link { background: none; color: #71717a; font-weight: 400; padding: 2px; }
.err { color: #b91c1c; font-size: 13px; min-height: 1px; }
