*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--font-display:"DM Serif Display",serif;--font-ui:"DM Sans",sans-serif;--black:#0e1117;--cream:#f7f5f0;--muted:#6b7080;--border:rgba(0,0,0,.11);--red:#a02828;--red-bg:#fadadc;--r:10px;--t:160ms cubic-bezier(0.25,0.46,0.45,0.94)}body,html{height:100%;font-family:var(--font-ui);background:var(--cream);-webkit-font-smoothing:antialiased}.wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.box{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:16px;padding:40px 44px;max-width:400px;width:100%;box-shadow:0 4px 24px rgba(0,0,0,.07)}.title{font-family:var(--font-display);font-size:26px;letter-spacing:-.02em;color:var(--black);margin-bottom:8px}.sub{font-size:14px;line-height:1.6;margin-bottom:28px}.field label,.sub{color:var(--muted)}.field label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.field input{width:100%;font-family:var(--font-ui);font-size:14px;padding:0 12px;height:44px;border:1.5px solid var(--border);border-radius:var(--r);background:#fff;color:var(--black);outline:none;transition:border-color var(--t),box-shadow var(--t)}.field input:focus{border-color:var(--black);box-shadow:0 0 0 3px rgba(14,17,23,.08)}.btn-submit{width:100%;height:46px;background:var(--black);color:#fff;font-family:var(--font-ui);font-size:14px;font-weight:600;border:none;border-radius:var(--r);cursor:pointer;margin-top:16px;transition:background var(--t)}.btn-submit:hover{background:#2a2d35}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.error-box{background:var(--red-bg);color:var(--red);font-size:13px;padding:10px 14px;border-radius:var(--r);margin-bottom:16px}.back{display:block;text-align:center;margin-top:20px;font-size:13px;color:var(--muted);text-decoration:none}.back:hover{color:var(--black)}