:root{font:15px/1.5 system-ui,sans-serif;color:#18181b;--primary:#18181b;--background:#fafafa;background:var(--background)}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:24px}main{width:min(420px,100%);padding:32px;border:1px solid #e4e4e7;border-radius:16px;background:#fff;box-shadow:0 4px 24px #00000004}header{text-align:center;margin-bottom:24px}.logo{max-height:64px;max-width:200px;object-fit:contain;margin-bottom:12px}.brand{font-weight:650;font-size:18px}h1{font-size:24px;line-height:1.3;letter-spacing:-.04em;margin:8px 0}label{display:block;font-weight:500;margin:16px 0}input{display:block;width:100%;padding:11px 12px;margin-top:6px;border:1px solid #d4d4d8;border-radius:8px;font:inherit;background:#fff;color:#18181b}input:focus{outline:2px solid var(--primary);outline-offset:2px}button{display:block;width:100%;padding:11px;border:1px solid var(--primary);border-radius:8px;background:var(--primary);color:#fff;font:inherit;font-weight:550;cursor:pointer;margin-top:14px}button:disabled{opacity:.55;cursor:wait}.secondary{background:#fff;color:#18181b;border-color:#d4d4d8}.link{border:0;padding:0;background:none;color:var(--primary);font-weight:400;margin:0}nav{display:grid;gap:10px;margin-top:22px;text-align:center}a{color:var(--primary);text-decoration:none}a:hover,.link:hover{text-decoration:underline}.error,.notice{padding:12px;border-radius:8px;font-size:14px}.error{background:#fef2f2;color:#991b1b}.notice{background:#f4f4f5;color:#3f3f46}footer{text-align:center;color:#a1a1aa;font-size:12px;margin-top:28px}
