*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:14px;line-height:1.5;background:#faf8f7;color:#1c1616;min-height:100vh;display:grid;place-items:center;padding:24px 16px;border-top:3px solid #c8102e}
.card{width:100%;max-width:420px;background:#fff;border:1px solid #e8e2df;border-radius:12px;padding:28px;box-shadow:0 1px 2px rgba(28,22,22,.05),0 8px 24px rgba(28,22,22,.06)}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.brand-mark{width:28px;height:28px;border-radius:7px;background:#c8102e;color:#fff;display:grid;place-items:center;font-family:'Newsreader',Georgia,serif;font-weight:600;font-size:18px}
.brand-name{font-family:'Newsreader',Georgia,serif;font-size:21px;font-weight:600}
.brand-name em{font-style:normal;color:#c8102e}
h1{font-family:'Newsreader',Georgia,serif;font-size:22px;font-weight:600;margin-bottom:4px}
p{color:#574c4b}
.sub{margin-bottom:18px}
label{display:block;font-size:12px;font-weight:600;color:#574c4b;margin:14px 0 5px}
input{width:100%;font:inherit;color:inherit;border:1px solid #d3cac6;border-radius:8px;padding:10px 12px;background:#fff}
input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #c8102e;outline-offset:2px}
button,.btn{display:block;width:100%;margin-top:20px;font:inherit;font-weight:600;text-align:center;text-decoration:none;color:#fff;background:#c8102e;border:0;border-radius:8px;padding:11px;cursor:pointer}
button:hover,.btn:hover{filter:brightness(1.08)}
.error{background:#fde9ec;color:#a30d25;border-radius:8px;padding:10px 12px;margin-bottom:6px;font-size:13px}
.note{font-size:12.5px;color:#8d8280;margin-top:14px}
.checks{list-style:none;margin:6px 0 4px;font-size:13px}
.checks li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #f3efed}
.ok{color:#1f6b45;font-weight:600}
.fail{color:#a30d25;font-weight:600}
