*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f3ede7;--bg-alt:#ebe4dc;--text:#231f20;--text-muted:#756d6b;--text-faint:#b0a8a5;--border:#e2dad5;--font:"Helvetica Neue",Helvetica,Arial,sans-serif}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.65;min-height:100dvh}a{color:inherit;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:2px}a:hover{-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted)}.auth-shell{min-height:100dvh;display:flex;flex-direction:column}.auth-shell header{border-bottom:1px solid var(--border);padding:18px 24px}.auth-shell header a{display:inline-block;text-decoration:none}.auth-shell header a:hover{opacity:.7}.auth-shell header img,.auth-shell header svg{display:block;height:38px;width:auto}.auth-shell main{flex:1 1;display:flex;align-items:center;justify-content:center;padding:40px 24px}.auth-card{width:100%;max-width:360px}.auth-card h1{font-size:1.75rem;font-weight:600;letter-spacing:-.02em;margin-bottom:28px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:.875rem;color:var(--text-muted)}.field input{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:var(--font);font-size:1rem;padding:10px 12px;width:100%;transition:border-color .15s}.field input:focus{border-color:var(--text-muted);outline:none}.submit-btn{background:var(--text);border:none;border-radius:6px;color:var(--bg);cursor:pointer;font-family:var(--font);font-size:.9375rem;font-weight:500;margin-top:8px;padding:11px 20px;width:100%;transition:opacity .15s}.submit-btn:hover{opacity:.85}.alt-link{color:var(--text-muted);font-size:.875rem;margin-top:20px;text-align:center}.alt-link a{color:var(--text)}