@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');
* { box-sizing: border-box; }
body { margin: 0; min-height: 100svh; display: grid; place-items: center; padding: 20px; background: #262e23; color: #292a24; font-family: Montserrat, Arial, sans-serif; }
main { background: #fffdf8; width: min(100%, 420px); padding: clamp(24px, 6vw, 44px); border-radius: 15px; box-shadow: 0 20px 60px #12191055; }
img { width: 130px; height: auto; }
.label { color: #566648; font-size: 10px; letter-spacing: .14em; font-weight: 700; margin-top: 28px; }
h1 { margin: 0 0 23px; letter-spacing: -.05em; }
form { display: grid; gap: 15px; }
label { display: grid; gap: 6px; font-size: 13px; font-weight: 600; }
input, button { padding: 11px 12px; border-radius: 7px; font: inherit; }
input { min-width: 0; border: 1px solid #cdd4c5; background: white; }
button { border: 0; background: #313b28; color: white; font-weight: 700; cursor: pointer; }
button:hover { background: #485b39; }
button:disabled { opacity: .5; cursor: default; }
:focus-visible { outline: 2px solid #6e8c24; outline-offset: 3px; }
small, a { color: #555f4e; font-size: 12px; }
a { display: inline-block; margin-top: 16px; }
[role=alert] { background: #f8ede0; padding: 10px; border-radius: 6px; font-size: 12px; }
