:root{--ink:#202d3d;--muted:#637084;--line:#e4e8ee;--paper:#fff;--bg:#f5f7fa;--accent:#285b50;--red:#bc3f49}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic",sans-serif;padding:16px}
.login{width:100%;max-width:360px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:32px 28px;box-shadow:0 10px 40px #24374d12}
h1{margin:0;font-size:27px;letter-spacing:-1px;color:var(--accent)}
.lead{margin:2px 0 20px;color:var(--muted)}
form{display:flex;flex-direction:column;gap:6px}
label{font-size:13px;color:var(--muted);margin-top:8px}
input{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:7px}
input:focus-visible,button:focus-visible{outline:3px solid #9164cc;outline-offset:2px}
button{font:inherit;margin-top:18px;padding:10px 12px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:#fff;cursor:pointer}
.notice{margin:0 0 12px;padding:9px 12px;border-radius:7px;background:#edf5f1;color:#27614d;font-size:14px}
.notice.error{background:#fbecee;color:var(--red)}
