:root{--bg:#f5f7f4;--panel:#fff;--line:#d9e1d5;--text:#1d261f;--muted:#657064;--green:#2f6f4e;--soft:#e7f0e9;--red:#9c2f2f}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}
.login{width:min(440px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:26px;box-shadow:0 18px 45px rgba(35,55,38,.08)}
.mark{display:grid;place-items:center;width:48px;height:48px;background:var(--green);color:#fff;border-radius:8px;font-weight:700;font-size:24px}
h1{font-size:24px;margin:18px 0 8px}
p{color:var(--muted);line-height:1.5}
label{display:block;margin:14px 0 6px;font-weight:700;font-size:13px}
input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit}
button{width:100%;min-height:42px;border:1px solid var(--green);background:var(--green);color:#fff;border-radius:8px;margin-top:18px;font-weight:700;cursor:pointer}
button:disabled{cursor:wait;opacity:.65}
.error{min-height:22px;margin-top:12px;color:var(--red);font-size:13px}
.ok{color:var(--green)}
.note{font-size:13px;margin-bottom:0}
